在Python中跳过For循环

2024-09-20 22:53:32 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的代码中,它一直在跳过迭代 这是我一直在使用的代码

 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

Tags: 代码answerforyourisintprinttwo
2条回答

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,包括在内

如果您使用的是python2,那么可以使用xrange代替range来避免实际构建列表。在python3中,只需使用range

range(firstNumber, 0)几乎肯定是空的,除非您期望的是一个负数。不清楚你想在这里做什么;如果您试图迭代类似于[5,4,3,2,1,0]的内容,那么应该使用range(5, 0, -1)Read the docs了解更多信息

相关问题 更多 >

    热门问题