Python &引用;如果;嵌套在一个";至于;只进一次
在for中的IF有问题Python &引用;如果;嵌套在一个";至于;只进一次,python,Python,在for中的IF有问题 print (frames_min) print (frames_max) for f in range(frames_min, frames_max): if ((f >= 96) and (f < 144)): f += 3 print("A",f) 打印(最小帧) 打印(最大帧) 对于范围内的f(最小帧,最大帧): 如果((f>=96)和(f=frames\u min和fb在每次迭代时,f都会被重新指定为iterabl
print (frames_min)
print (frames_max)
for f in range(frames_min, frames_max):
if ((f >= 96) and (f < 144)):
f += 3
print("A",f)
打印(最小帧)
打印(最大帧)
对于范围内的f(最小帧,最大帧):
如果((f>=96)和(f<144)):
f+=3
打印(“A”,f)
结果:
为什么不在Python中使用100、103、106、109???for遍历每个变量,而不是索引:
print (frames_min)
print (frames_max)
for f in range(frames_min, frames_max):
if ((f >= 96) and (f < 144)):
f += 3
print("A",f)
或者,您可以使用range命令的,使其每隔3个数字给出一个:
print (frames_min)
print (frames_max)
for f in range(frames_min, frames_max, 3):
print("A",f)
将执行我认为是您想要的结果。您需要使用while循环,而不是for循环
frames_min=97
frames_max=144
print (frames_min)
print (frames_max)
f=97
while f >=frames_min and f<= frames_max:
f = f + 3
print("A",f)
frames\u min=97
帧_max=144
打印(最小帧)
打印(最大帧)
f=97
由于python中for
循环的工作方式,f>=frames\u min和fb在每次迭代时,f都会被重新指定为iterable中的下一个条目f
在循环的每次迭代开始时都会被重置。这就是(…)范围内f的功能。如果您想有条件地增加变量,可以使用while
循环。正如@khelwood所说,您可以使用while循环,或者您可以使用iter()
和next(iter)
逻辑循环和If语句在每次迭代中都会更改f
的值,而不仅仅是If语句。打印if语句前后的值。
frames_min=97
frames_max=144
print (frames_min)
print (frames_max)
f=97
while f >=frames_min and f<= frames_max:
f = f + 3
print("A",f)