#在慕課網上的練習結果正確,我用電腦上的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>')
添加回答
舉報
0/150
提交
取消