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

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

為什么for a in '123456789'這樣寫不對?

print [a*100 + b*10 + c for a in ‘123456789’for b in ‘0123456789’ for c in ‘0123456789’ if a == c]

正在回答

5 回答

'123456789' 用引號的是字符串,for a in '123456789' 迭代出來的是'1' '2' '3'...這樣的字符串。

把前面a*100 b*10 改成 a b就好了

print [a + b + c for a in '123456789'for b in '0123456789' for c in '0123456789' if a == c]

但是結果是對稱數的字符串,再把字符串轉換為int類型就可以了

print [int(a + b + c) for a in '123456789'for b in '0123456789' for c in '0123456789' if a == c]

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

DEBUG自習室 提問者

懂了 非常感謝解答
2019-03-06 回復 有任何疑惑可以回復我~
#2

慕雪4577391

print [int(a * 100 + b * 10 + c ) for a in '123456789'for b in '0123456789' for c in '0123456789' if a == c]
2019-03-11 回復 有任何疑惑可以回復我~
#3

慕工程7591378 回復 慕雪4577391

這樣是不對的,你可以執行程序試試
2019-03-13 回復 有任何疑惑可以回復我~
#4

馬可奧勒留 回復 慕雪4577391

abc都是字符串,不能乘以100
2019-07-25 回復 有任何疑惑可以回復我~
查看1條回復
print?[int(x+y+x)?for?x?in?'123456789'?for?y?in?'0123456789']


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

我試驗了一下你的代碼,錯誤提示為 invalid syntax,即語法錯誤。原因是你的引號是中文狀態下的引號,你用鼠標選中一下,看看這引號多寬!

你的引號:

‘’‘’‘’‘’‘’‘’‘’

正確引號:

''''''''''''

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

我看示例寫的 for x in '123' 是可以遍歷的,有點不懂

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

‘123456789’是一個完整的字符串,可以用in range(1,10)

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

舉報

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

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

進入課程

為什么for a in '123456789'這樣寫不對?

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

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

幫助反饋 APP下載

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

公眾號

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