在我的代码中,它一直在跳过for迭代 继承人我一直在使用的代码
print ("part two")
varZ = varA - 0.5
varY = firstNumber / varZ
for varZ in list(reversed(range(firstNumber, 0))):
print ("part three")
varY = firstNumber / varZ
if (varY - int(varY) == 0):
print ("part four")
break
else:
varZ = varZ - 1
print ("part five")
print("Part six, Your answer is...", int(varZ))
感谢您的帮助! P.s输出
Your number sir? 27
Calculating...
13.5
part two
Part six, Your answer is... 13
答案 0 :(得分:1)
range(firstNumber, 0)
几乎肯定是空的,除非你期望一个负的firstNumber。目前还不清楚你在这里要做什么;如果您尝试迭代[5,4,3,2,1,0]
之类的内容,则应使用range(5, 0, -1)
。 Read the docs了解更多信息
答案 1 :(得分:0)
range(firstNumber, 0)
将成为一个空列表(除非firstNumber
为负)。默认增量为1.如果您删除了0
,则range
表达式将从0
计算到firstNumber-1
。我不确定您是否要从firstNumber
或firstNumber-1
开始,因此我在此示例中使用n
:
for x in list(reversed(range(n))):
您可以将其简化为:
for x in reversed(range(n)):
或只是:
for x in range(n-1, -1, -1):
这些都会从n-1
到0
倒计时。
如果您使用的是Python 2,则可以使用xrange
代替range
,以避免实际构建列表。在Python 3中,您只需使用range
。