課程
/后端開發
/Python
/初識Python
print [x for x in range(999) for x/100==x%10]
2016-03-27
源自:初識Python 10-4
正在回答
哇,樓主好思路呀,不過有兩個小問題:
print?[x?for?x?in?range(999)?for?x/100==x%10]
第一: x/100==x%10 , 這個語句是邏輯判斷 而不是成員資格判斷(如: x in range(999)) , 所以不能用for, 應該用 if.
第二,?x/100==x%10, 在 x 為0,10,20,30,40,50,60,70,80,90 是也是成立的。
所以樓主的代碼不能得到正確的結果,稍加修改就可以了:
##正確代碼: print?[x?for?x?in?range(999)?if?x/100==x%10?and?x>100] ##?這個結果不包括?999,?所以再稍作修改: print?[x?for?x?in?range(1000)?if?x/100==x%10?and?x>100]
不過,這一節 就是為了練習多層for 循環, 所以 正常的答案是:
print?[x*100+y*10+z?for?x?in?range(1,10)?for?y?in?range(0,10)?for?z?in?range(1,10)?if?x==z]
不過正常答案略無聊。。。
氵天天天天氵 提問者
清波 回復 氵天天天天氵 提問者
print [x for x in range(100,1000) if x/100==x%10]
按你的思路可以這樣寫也能獲得可以通過的結果,出錯的原因有兩個:range的范圍要求是三位數,還有就是?x/100==x%10應該是一個條件表達式。此外,注意題目的要求,用三層的for循環,print [x*100 + y*10 + z for x in range(1,10) for y in range(0,10) for z in range(0,10) if x == z ],這樣寫會比較好些。
舉報
學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-03-28
哇,樓主好思路呀,不過有兩個小問題:
第一: x/100==x%10 , 這個語句是邏輯判斷 而不是成員資格判斷(如: x in range(999)) , 所以不能用for, 應該用 if.
第二,?x/100==x%10, 在 x 為0,10,20,30,40,50,60,70,80,90 是也是成立的。
所以樓主的代碼不能得到正確的結果,稍加修改就可以了:
不過,這一節 就是為了練習多層for 循環, 所以 正常的答案是:
不過正常答案略無聊。。。
2016-03-27
print [x for x in range(100,1000) if x/100==x%10]
按你的思路可以這樣寫也能獲得可以通過的結果,出錯的原因有兩個:range的范圍要求是三位數,還有就是?x/100==x%10應該是一個條件表達式。此外,注意題目的要求,用三層的for循環,print [x*100 + y*10 + z for x in range(1,10) for y in range(0,10) for z in range(0,10) if x == z ],這樣寫會比較好些。