Python 验证函数并将变量返回到输入()中
我制作了一个函数来验证用户在输入中提供的两个变量。 我有两个问题:Python 验证函数并将变量返回到输入()中,python,validation,input,Python,Validation,Input,我制作了一个函数来验证用户在输入中提供的两个变量。 我有两个问题: 在函数break中,给出我和错误:break外部循环。我修不好 若输入被发送到函数,当它失败时,我如何将其发送回输入,以便用户重新输入 请查找以下代码: def testify(arg_test): while True: i = arg_test try: i == int(i) except ValueError as e: print ("Enter v
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);
代码中存在缩进问题,请查看此修复程序:
def验证(arg_测试):
i=arg_测试
尝试:
int(i)#这足以测试arg_测试是否可以解析为整数
返回参数检验
除ValueError为e外:
新输入=输入(“输入有效的int值”)
返回验证(新输入)
编辑:
将我的答案更改为使用递归函数检查用户的新输入。首先,我最确定的问题是:2)在出现
错误后重新输入变量
我只需要执行以下代码:
else:
break()
testify(arg_test)
我不太确定的第一个问题是,break
函数,因为我很少使用它!但是我想说:试着缩进你的try
和循环,除了循环,所以它在下面,而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
希望这有帮助 你有缩进问题,在python中缩进是非常重要的!在except语句中,您可以将其设置为reccursive函数以解决返回问题2。通过此更改,它使用递归函数,如果输入有效,则返回原始参数,否则,它将再次输入函数,因此不需要循环。