課程
/后端開發
/Python
/初識Python
為什么例子中的代碼就不用乘10位,我把ABC改為123 ,顯示結果也是正常,那為什么題上的代碼就要乘4呢?是因為range的原因嗎?請大佬指點。
2018-07-30
源自:初識Python 10-4
正在回答
對于字符串 'ABC' 和 '123',可以使用兩層循環,生成全排列:
>>>?[m?+?n?for?m?in?'ABC'?for?n?in?'123'] ['A1',?'A2',?'A3',?'B1',?'B2',?'B3',?'C1',?'C2',?'C3']
這個列表中的元素是字符串, 字符串通過相加,即如print 'a' + '1', 結果為a1; 同樣,printf 'a'
?+ '1' + '2' , 結果為a12
百位的循環從 1-9,十位和個位的循環從 0-9。
參考代碼:
print?[100?*?n1?+?10?*?n2?+?n3?for?n1?in?range(1,?10)?for?n2?in?range(10)?for?n3?in?range(10)?if?n1==n3]
而題目列表中的元素是整數,對于數值來說,不存在這種用法。
對于你說的將例子中ABC改為123,雖然打印出來可以得出相同結果,但實際上你無法將字符串進行算術運算,編譯器會報錯。
慕少8052535 提問者
簡單的說就是一個是數值,一個是字符。
舉報
學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-07-30
對于字符串 'ABC' 和 '123',可以使用兩層循環,生成全排列:
這個列表中的元素是字符串, 字符串通過相加,即如print 'a' + '1', 結果為a1; 同樣,printf 'a'
?+ '1' + '2' , 結果為a12
百位的循環從 1-9,十位和個位的循環從 0-9。
參考代碼:
而題目列表中的元素是整數,對于數值來說,不存在這種用法。
對于你說的將例子中ABC改為123,雖然打印出來可以得出相同結果,但實際上你無法將字符串進行算術運算,編譯器會報錯。
2018-08-03
簡單的說就是一個是數值,一個是字符。