为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

无无法师 2016-10-21 09:49:15
#在慕课网上的练习结果正确,我用电脑上的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>')
查看完整描述

1 回答

已采纳
?
孤独的小猪

TA贡献232条经验 获得超302个赞

你好,经过调试,发现你的代码需要在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>')


查看完整回答
3 反对 回复 2016-10-21
  • 1 回答
  • 2 关注
  • 2338 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信