python2代码改python3代码,一般怎么改?

#在慕课网上的练习结果正确,我用电脑上的python3时,都把print加上括号,但是老是出错,也不知道为啥?
#对python3的代码不熟呀,谁来看看该怎么把python2代码改为python3的代码
# -*- coding: utf-8 -*-


d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }
def generate_tr(name, score):
    if score>=60:
        return '<tr><td>%s</td><td>%s</td></tr>' % (name, score)
    else:
        return '<tr><td>%s</td><td style="color:red">%s</td></tr>'%(name,score)

tds = [generate_tr(name,score) for name, score in d.iteritems()]
print('<table border="1">')
print('<tr><th>Name</th><th>Score</th><tr>')
print('\n'.join(tds))
print('</table>')

http://img.mukewang.com/580973980001430902800144.jpg

无无法师
浏览 2339回答 1
1回答

孤独的小猪

你好,经过调试,发现你的代码需要在python3上做如下修改1、你的print()使用的是中文的括号,应该改成英文的括号。2、在python3中,已经把 dict.iteritems()移除了,换成dict.items()了。所以在python3中,正确代码是:d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 } def generate_tr(name, score):     if score>=60:         return '<tr><td>%s</td><td>%s</td></tr>' % (name, score)     else:         return '<tr><td>%s</td><td style="color:red">%s</td></tr>'%(name,score)   tds = [generate_tr(name,score) for name, score in d.items()] print('<table border="1">') print('<tr><th>Name</th><th>Score</th><tr>') print('\n'.join(tds)) print('</table>')
打开App,查看更多内容
随时随地看视频慕课网APP