for 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)
结果:
为什么不是100,103,106,109 ??
答案 0 :(得分:2)
在Python中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)
在这里,您将f
的值增加3,但f
表示存储在那里的实际数字而不是索引。如果不是这样,您可以使用while
print (frames_min)
print (frames_max)
i = frames_min
while i < frames_max:
print(i)
i += 3
或者,您可以使用范围命令的'step' parameter使其为每个第3个数字提供:
print (frames_min)
print (frames_max)
for f in range(frames_min, frames_max, 3):
print("A",f)
我认为你想要的结果是什么。
答案 1 :(得分:0)
您需要使用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)