根据条件停止循环
Stopping a loop based on conditions
所以我有一个程序可以计算 运行 总数。用户设置最大值,然后输入介于 1 和最大值之间的数字。如果用户输入一个负数,它应该停止循环并给出 运行 总数。我在输出总数然后继续询问我下一个数字时遇到问题。它还将负数添加到我不想要的总数中。我是 python 的新手,非常感谢任何见解。
END = int(input('Enter a maximum value:'))
total = 0
correct = False
while True:
number = int(input('Enter a number between 1 and the maximum:'))
total = total + number
if number <= -1:
print('Sum of all valid numbers entered:', total)
correct = False
elif number < 0 or number > END:
print('Invalid number')
所以我做了一些修改。我有点困惑。代码肯定会在它应该停止的地方停止,但现在它只 returns 输入的负数。
END = int(input('Enter a maximum value:'))
total = 0
correct = False
while True:
number = int(input('Enter a number between 1 and the maximum:'))
if number <= -1:
total = total + number
print('Sum of all valid numbers entered:', total)
correct = False
break
elif number < 0 or number > END:
print('Invalid number')
您可以使用 break
停止任何循环而无需使用任何其他变量:
while True:
number = int(input('Enter a number between 1 and the maximum:'))
total = total + number
if number <= -1:
print('Sum of all valid numbers entered:', total)
break
elif number < 0 or number > END:
print('Invalid number')
接下来的代码应该是:
END = int(input('Enter a maximum value:'))
total = 0
while True:
number = int(input('Enter a number between 1 and the maximum:'))
if number <= -1:
print('Sum of all valid numbers entered:', total)
break
elif number > END:
print('Invalid number')
else: # if the number is bigger than or equal 1
total += number # total = total + number
如果你想停止 while 循环,你必须使用 break 语句。
所以它看起来像这样
total = total + number
correct = False
break
elif
所以我有一个程序可以计算 运行 总数。用户设置最大值,然后输入介于 1 和最大值之间的数字。如果用户输入一个负数,它应该停止循环并给出 运行 总数。我在输出总数然后继续询问我下一个数字时遇到问题。它还将负数添加到我不想要的总数中。我是 python 的新手,非常感谢任何见解。
END = int(input('Enter a maximum value:'))
total = 0
correct = False
while True:
number = int(input('Enter a number between 1 and the maximum:'))
total = total + number
if number <= -1:
print('Sum of all valid numbers entered:', total)
correct = False
elif number < 0 or number > END:
print('Invalid number')
所以我做了一些修改。我有点困惑。代码肯定会在它应该停止的地方停止,但现在它只 returns 输入的负数。
END = int(input('Enter a maximum value:'))
total = 0
correct = False
while True:
number = int(input('Enter a number between 1 and the maximum:'))
if number <= -1:
total = total + number
print('Sum of all valid numbers entered:', total)
correct = False
break
elif number < 0 or number > END:
print('Invalid number')
您可以使用 break
停止任何循环而无需使用任何其他变量:
while True:
number = int(input('Enter a number between 1 and the maximum:'))
total = total + number
if number <= -1:
print('Sum of all valid numbers entered:', total)
break
elif number < 0 or number > END:
print('Invalid number')
接下来的代码应该是:
END = int(input('Enter a maximum value:'))
total = 0
while True:
number = int(input('Enter a number between 1 and the maximum:'))
if number <= -1:
print('Sum of all valid numbers entered:', total)
break
elif number > END:
print('Invalid number')
else: # if the number is bigger than or equal 1
total += number # total = total + number
如果你想停止 while 循环,你必须使用 break 语句。 所以它看起来像这样
total = total + number
correct = False
break
elif