fc5igm 发表于 2021-6-4 11:10:53

关于循环的问题

请问有没有什么方法可以做到如下
for i in range(10) :
    if xxxx==True:
      让i重新开始从0取值。
正常应该是每次循环之后,i都会取i+1的值。有没有什么办法可以让i的取值归零,重新从0开始往下数?

逃兵 发表于 2021-6-4 11:15:52

i = 0
xxxx = False
while i < 10:
    print(i)
    i+=1
    if xxxx == True:
      i = 0

qq1151985918 发表于 2021-6-4 11:27:05

不能,for循环中i并不是赋值,而是循环取迭代序列中的数据,range(10)并不是认为中的0-10,它代表一个可迭代对象,你可以认为是一个元组(0,1,2,3,4,5,6,7,8,9)这样说或许你能更清楚一些。

fc5igm 发表于 2021-6-4 14:08:02

逃兵 发表于 2021-6-4 11:15


是什么让xxxx变成了True呢?
另外,是否可以做到0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4... 这样无限循环呢?

fc5igm 发表于 2021-6-4 14:08:46

qq1151985918 发表于 2021-6-4 11:27
不能,for循环中i并不是赋值,而是循环取迭代序列中的数据,range(10)并不是认为中的0-10,它代表一个可迭 ...

所以有没有办法可以让数字在0-9,在回到0再到9这样无限循环?

逃兵 发表于 2021-6-4 14:11:16

fc5igm 发表于 2021-6-4 14:08
是什么让xxxx变成了True呢?
另外,是否可以做到0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4... 这样 ...

不知道你具体想做什么事情
仅仅是提供一个思路,可以在循环中设置一个触发条件,使得i回归0

无限循环
while True:
    for i in range(10):
      print(i)

qq1151985918 发表于 2021-6-4 14:30:04

本帖最后由 qq1151985918 于 2021-6-4 14:37 编辑

支持楼上。用while的话就可以,另外也可以取余数
页: [1]
查看完整版本: 关于循环的问题