我制作了一个函数,用于验证用户在输入中提供的2个变量。 我有两个问题:
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);
答案 0 :(得分:1)
您的代码中存在缩进问题,请查看此修复程序:
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)
编辑: 更改了我的答案,以使用递归功能检查用户的新输入。
答案 1 :(得分:1)
首先,我最确定的问题是:2)在try except
错误之后重新输入变量。
我只需执行以下代码:
else:
break()
testify(arg_test)
我不太确定的第一个问题是break
函数,因为我很少使用它!但是我会说:尝试缩进try
和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
希望这会有所帮助!