Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python &引用;如果;嵌套在一个";至于;只进一次_Python - Fatal编程技术网

Python &引用;如果;嵌套在一个";至于;只进一次

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

在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<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)