亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

m*100+n*10+m的問題

為什么例子中的代碼就不用乘10位,我把ABC改為123 ,顯示結果也是正常,那為什么題上的代碼就要乘4呢?是因為range的原因嗎?請大佬指點。

正在回答

2 回答

對于字符串 '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,雖然打印出來可以得出相同結果,但實際上你無法將字符串進行算術運算,編譯器會報錯。



1 回復 有任何疑惑可以回復我~
#1

慕少8052535 提問者

非常感謝!
2018-07-31 回復 有任何疑惑可以回復我~

簡單的說就是一個是數值,一個是字符。

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
初識Python
  • 參與學習       758397    人
  • 解答問題       8967    個

學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序

進入課程

m*100+n*10+m的問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號