我创建了一个函数来验证用户在输入中提供的两个变量。我有两个问题:
break给我和错误:break外部循环。我无法修复它。请查找以下代码:
def testify(arg_test):
while True:
i = arg_test
try:
i == int(i)
except ValueError as e:
print ("Enter valid int value")
else:
break
return arg_test
number_1 = input("Write first number: ");
number_2 = input("Write second number: ");
arg_number_1 = testify(number_1);
arg_number_2 = testify(number_2);发布于 2020-05-05 20:48:15
您的代码中有缩进问题,请查看此修补程序:
def testify(arg_test):
i = arg_test
try:
int(i) # This is sufficient to test if arg_test could be parsed as an integer
return arg_test
except ValueError as e:
new_input = input("Enter valid int value")
return testify(new_input)编辑:更改了我的答案,使用了一个递归函数来检查用户的新输入。
发布于 2020-05-05 20:51:46
首先,我最确定的问题是: 2)在try except错误后重新输入变量。
我只需执行以下代码:
else:
break()
testify(arg_test)我不太确定的第一个问题,break函数,因为它很少被我使用!但是我想说的是:尝试将您的try except 和except循环缩进,因此它位于 while True: 循环下面!
如下所示:
def testify(arg_test):
while True:
i = arg_test
try:
i == int(i)
except ValueError as e:
print ("Enter valid int value")
else:
break
testify(arg_test)
return arg_test希望这能有所帮助!
https://stackoverflow.com/questions/61622695
复制相似问题