課程
/后端開發
/Python
/初識Python
print [x*y for x in range(1,100,2)? for y in range(2,100,2) ]
2019-09-17
源自:初識Python 10-1
正在回答
這種寫法相當于走了兩次迭代,第一次for x in range(1,100,2),第二次for y in range(2,100,2),結果有49*48個,和題目要求不一樣,不單單是編譯器版本問題
range()含頭不含尾,所以range(2,100,2)取偶數,只能取到98,不會取到100,如果想取到100,可以寫成range(2,101,1)或者range(2,102,2)。
可以理解為,x=1,依次與2到99之間的偶數相乘一次并輸入,然后x=1+2=3,再依次與2到99之間的偶數相乘一次并輸入,依此類推
你的編譯器是python3版本,print打印要加括號的
print([x*y for x in range(1,100,2)? for y in range(2,100,2) ])這樣就行了
慕后端5058260
語法錯誤,扔到編譯器里就直接報錯了
沒有問題!
舉報
學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2019-09-19
這種寫法相當于走了兩次迭代,第一次for x in range(1,100,2),第二次for y in range(2,100,2),結果有49*48個,和題目要求不一樣,不單單是編譯器版本問題
2019-11-06
range()含頭不含尾,所以range(2,100,2)取偶數,只能取到98,不會取到100,如果想取到100,可以寫成range(2,101,1)或者range(2,102,2)。
2019-09-19
可以理解為,x=1,依次與2到99之間的偶數相乘一次并輸入,然后x=1+2=3,再依次與2到99之間的偶數相乘一次并輸入,依此類推
2019-09-18
你的編譯器是python3版本,print打印要加括號的
print([x*y for x in range(1,100,2)? for y in range(2,100,2) ])這樣就行了
2019-09-18
語法錯誤,扔到編譯器里就直接報錯了
2019-09-18
沒有問題!