gpt4 book ai didi

python - 如何在带有错误处理的 for 循环中进行迭代

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

我正在 try catch 用户的输入错误。输入应该是一个浮点数。我无法弄清楚其中的逻辑。

如果用户输入无效输入,我希望用户重定向到 material_vars 中的相同键值。目前我可以让它工作,所以如果不正确,它会返回到第一个键输入,而不是发生无效输入的键。

def material_costs(update=False):

global material_vars

while update:

try:
for key in material_vars:
material_vars[key] = float(input(f"Enter {key}:\n"))
except ValueError:
print ('Please enter a valid input')
else:
save_defaults('material_vars', material_vars)
update = False

else:
material_vars = open_defaults('material_vars')
return material_vars

最佳答案

您可以像这样修改您的功能

def material_costs(update=False):
global material_vars
while update:
for key in material_vars:
correct = False
while (not correct):
try:
material_vars[key] = float(input(f"Enter {key}:\n"))
correct = True
except ValueError:
print ('Please enter a valid input')
correct = False
save_defaults('material_vars', material_vars)
update = False
else:
material_vars = open_defaults('material_vars')
return material_vars

为每个输入运行一个 while 循环,直到用户输入正确的输入。
输入将由 while 内的 try-except block 验证。

我希望这有帮助。

关于python - 如何在带有错误处理的 for 循环中进行迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61678970/

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