gpt4 book ai didi

python - python 中的哨兵循环

转载 作者:太空宇宙 更新时间:2023-11-04 04:18:48 25 4
gpt4 key购买 nike

因此,我正在从用户那里获取要存储到列表中的输入,并且我正在使用哨兵循环不断要求用户输入数字。出现的问题是当用户完成输入值时我使用“停止”结束循环时我得到一个错误

ValueError:以 10 为底的 int() 的无效文字:'Stop'

我不确定为什么,如果是因为当输入是整数时它正在输入一个字符串来结束 while 循环。非常感谢任何消除此错误的建议,我的代码也在下面。

def getInput():
nums = []
print("Enter a value, to end the list, input Stop")
userInput = input("")
while userInput.upper() != "Stop":
print("Enter a value, to end the list, input Stop")
nums.append(int(userInput))
userInput = input("")
return nums

def main():
numbers = getInput()
print(numbers)
main()

最佳答案

userInput.upper() != "Stop":

将始终为 True:'stop'.upper()'STOP'

如果你希望你的循环在用户输入任何大写版本的'stop'时终止,你应该这样写

while userInput.upper() != "STOP":
....

并且捕获用户可以输入的其他内容可能是明智的

userIntput = input("")
try:
nums.append(int(userInput))
except ValueError:
# somehow handle what should happen here...

关于python - python 中的哨兵循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54899568/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com