gpt4 book ai didi

python - 如何在循环内发出警告并再次请求 raw_input

转载 作者:行者123 更新时间:2023-12-01 03:40:55 25 4
gpt4 key购买 nike

我编写了下面的Python代码(实际上这是我对《24小时自学Python》第80页练习的解决方案)。

这个想法是: table 周围有 4 个座位,服务员知道每个座位点了多少钱,输入这 4 个金额并得到总数。

如果提供的 raw_input 不是数字(而是字符串),我的代码会将其踢出。然而,目标是给出错误消息(“此条目无效”)并再次要求输入 - 直到它是数字。但是,我不知道如何再次询问用户原始输入 - 因为我已经在循环中了。

非常感谢您的建议!

def is_numeric(value):
try:
input = float(value)
except ValueError:
return False
else:
return True


total = 0
for seat in range(1,5):

print 'Note the amount for seat', seat, 'and'
myinput = raw_input("enter it here ['q' to quit]: ")

if myinput == 'q':
break

elif is_numeric(myinput):
floatinput = float(myinput)
total = total + floatinput

else:
print 'I\'m sorry, but {} isn\'t valid. Please try again'.format(myinput)
break

if myinput == 'q':
print "Goodbye!"
else:
total = round(total, 2)
print "*****\nTotal: ${}".format(total)
print "Goodbye!"

最佳答案

通常,当您不知道要运行循环多少次时,解决方案是 while 循环。

for seat in range(1,5):
my_input = raw_input("Enter: ")
while not(my_input == 'q' or isnumeric(my_input)):
my_input = raw_imput("Please re-enter value")
if my_input == 'q':
break
else:
total += float(my_input)

关于python - 如何在循环内发出警告并再次请求 raw_input,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39647973/

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