在Python中跳过循环

时间:2015-11-07 18:18:16

标签: python

在我的代码中,它一直在跳过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

2 个答案:

答案 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。我不确定您是否要从firstNumberfirstNumber-1开始,因此我在此示例中使用n

for x in list(reversed(range(n))):

您可以将其简化为:

for x in reversed(range(n)):

或只是:

for x in range(n-1, -1, -1):

这些都会从n-10倒计时。

如果您使用的是Python 2,则可以使用xrange代替range,以避免实际构建列表。在Python 3中,您只需使用range