2010-06-09 64 views
0

在Python IDLE Shell中,似乎我不能使用複合條件表達式和while循環。我也在括號內嘗試過。以這兩個示例爲例:基本Python雖然循環複合條件評估

k=0 
m=0 
while k<10 & m<10: 
    print k 
    k +=1 
    m+=1 

這並不評估第二個條件。但如果我寫

while k<10: 
    print k 
    k+=1 

這是行不通的。有沒有一種方法可以用「和」運算符來實現第一塊代碼。我用Java來完成它。我是否需要將「if」語句放在一起以在Python中實現相同的功能?

+0

您的問題的答案由Deniz Dogan在下面給出。但通常這樣構建'while'(或'for')循環,即通過使用計數器並將其遞增到某個值,不是Pythonic。你應該爲'range in(10)'或者'better'做一個'for list_of_items'中的項目,讓Python處理迭代。 – 2010-06-09 14:15:36

+1

要添加到Tim的評論中,您可以使用'for idx,elem in enumerate(my_list)'來獲取'idx'中的基於0的「計數器」和'elem'中列表的索引處的元素。 – 2010-06-09 14:18:55

回答

6

&應該是and&是按位AND運算符。