验证函数并将变量返回到input()



我制作了一个函数,用于验证用户在输入中提供的两个变量。我有两个问题:

  1. 在函数break中给我和错误:break外部循环。我修不好
  2. 如果输入被发送到函数,当它失败时,我如何将其发送回输入以供用户重新输入

请找到以下代码:

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 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)

编辑:将我的答案更改为使用递归函数来检查用户的新输入。

首先,我最确定的问题是:2(在try except错误后重新输入变量。

我只会做以下代码:

else:
break()
testify(arg_test)

我不太确定的第一个问题是break函数,因为它很少被我使用!但我想说:尝试缩进tryexcept循环,使其位于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

希望这能有所帮助!

相关内容

  • 没有找到相关文章

最新更新