代碼順序問題
任務答案print [100*n1+10*n2+n3 for n1 in range(1,10) for n2 in range(0,10) for n3 in range(0,10) if n1 == n3]
為什么不寫成print [100*n1+10*n2+n3 if n1 == n3 for n1 in range(1,10) for n2 in range(0,10) for n3 in range(0,10) ]這樣呢,這個是怎么規范順序的,又是以什么順序運行的呢
任務答案print [100*n1+10*n2+n3 for n1 in range(1,10) for n2 in range(0,10) for n3 in range(0,10) if n1 == n3]
為什么不寫成print [100*n1+10*n2+n3 if n1 == n3 for n1 in range(1,10) for n2 in range(0,10) for n3 in range(0,10) ]這樣呢,這個是怎么規范順序的,又是以什么順序運行的呢
2016-03-30
舉報
2016-03-30
這個for循環生成式的意思是:
而題主給出的代碼:
就成了:
所以邏輯上不合適, 而解釋器報錯一般都會報: invalid syntax.
或者簡單的記住,for循環生成式 是for 嵌套if.
2016-03-30
先得有數才能做判斷吧?個人認為是這樣的