已采納回答 / 逗逗船長
這一段最先被執行的部分是 ?L and isinstance(x,str)?然后再對這個表達式的值迭代(雖然這個式子返回布爾值并不能迭代,不過這不是重點)重點是x得有值才能被引用,然而在迭代了之后x才被賦值,并且執行到isinstance(x,str)時迭代還沒開始所以你的寫法有問題
2016-02-18
已采納回答 / anjoecai
'123456789' ?這樣用,是字符串,要轉換下類型print [100 * int(x) + 10 * int(y) + int(z) for x in '123456789' for y in '0123456789' for z in '123456789' if z == x]
2016-02-17
最新回答 / JohnMactavish
謝謝~我的意思是,for按照什么標準區分key 和value呢,是不是應該認為,由于list中某些元素中含有key 和value,for語句首先判斷了一下符合執行標準,所以才執行,這樣理解對嗎?
2016-02-17
已采納回答 / qq_夢星墓痕_0
s = set(['Adam', 'Lisa', 'Bart', 'Paul'])#print 'adam'.capitalize() in s#print 'bart'.capitalize() in sfor x in s:? ? if 'adam'.lower()==x.lower():? ? ? ? print 'True'? ? else:? ? ? ? continue沒有更簡潔的,這樣可以忽略大小寫,湊乎用吧
2016-02-17
已采納回答 / GeorgeHao
循環到n=21的時候,先執行sum=sum+x;然后x=x*2,再執行break循環這樣實際上sum算的是前21項之和。所以:將if判斷放到while行下面就可以了。
2016-02-16
最贊回答 / 再見你
你的意思,應該是以下代碼:L = ['Adam', 'Lisa', 'Paul', 'Bart']L.pop(3)L.pop(2)print L這樣做肯定是沒有問題的,數組越界問題就不存在了。
2016-02-16
已采納回答 / 小王薈
因為求平均值會有小數,所以sum如果帶有浮點數,它的整體運算結果就會用小數來表示第二個語句的意思是x會被2整除。x%2的意思是x除以2的余數,==為判等(比較兩邊的東西是否一樣),整個的意思就是:如果x會被2除,得到的余數為0,那么就執行下面的代碼
2016-02-15