Python For循环应该循环9次,而不是循环一次

Python For循环应该循环9次,而不是循环一次,python,python-3.x,Python,Python 3.x,下面的代码应该从用户那里获取两个数字,然后声明哪个数字更高,9倍,因此“计数器计数器

下面的代码应该从用户那里获取两个数字,然后声明哪个数字更高,9倍,因此“计数器
计数器<10
返回
真值
,等于
1

>>> counter = 0
>>> counter < 10
True
>>> True == 1
True
这就是为什么它会循环一次


您应该使用
range(counter<10)
,而不是
range(9)
。您不需要声明
counter=0
,也不需要为
语句增加自己的
counter=counter+1
,注意:

>>> for i in range(3):
...     print(i)
... 
0
1
2

计数器<10
返回等于
1
True

>>> counter = 0
>>> counter < 10
True
>>> True == 1
True
这就是为什么它会循环一次


您应该使用
range(counter<10)
,而不是
range(9)
。您不需要声明
counter=0
,也不需要为
语句增加自己的
counter=counter+1
,注意:

>>> for i in range(3):
...     print(i)
... 
0
1
2

counter
counter为了让您更清楚,括号内的表达式首先进行求值。如果您想对
使用
,则需要传递一个序列,而
将在该序列上循环。使用
范围()
来生成序列。但这里您传递的是
(count<10)
range()
,这是一个条件。因此,在计算时,它返回
True
,因为
计数器
为0(在第一行中初始化)且小于10。而返回的
True
相当于
1
,因此其余部分如falsetru所述

如果要传递条件,则应使用
while
循环,而不是
for
。在
for
中,甚至不需要单独初始化变量
计数器。如果写入:-

for counter in range(9):
这将初始化
计数器
变量,并在每次迭代中递增

对于您的问题,您可以使用以下任一选项:-

for counter in range(9):
    # No need to initialize counter
    do_stuff

#初始化计数器
计数器=0

while(counter为了让您更清楚,括号内的表达式首先被计算。如果您想使用
for
,那么您需要传递一个序列,for
将在该序列上循环。使用
范围()
来生成序列。但这里您传递的是
(计数<10)
范围()
,这是一个条件。因此,在计算时,它返回
真值
,因为
计数器
为0(在第一行中初始化)且小于10。而返回的
真值
相当于
1
,因此其余部分如falsetru所述

如果要传递条件,则应使用
while
循环,而不是
for
。在
for
中,甚至不需要单独初始化变量
计数器。如果写入:-

for counter in range(9):
这将初始化
计数器
变量,并在每次迭代中递增

对于您的问题,您可以使用以下任一选项:-

for counter in range(9):
    # No need to initialize counter
    do_stuff

#初始化计数器
计数器=0
while(柜台)
# Initialize counter
counter = 0
while(counter <10):
    do_stuff