2010-06-09 43 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运算符。