gpt4 book ai didi

python - "Try and Except"区分字符串和整数?

转载 作者:行者123 更新时间:2023-12-01 04:18:42 30 4
gpt4 key购买 nike

我是Python语言的初学者。 python中是否有一个“try and except”函数来检查输入是否是一个字母或多个字母。如果不是,请再次输入? (我做了一个,你必须输入一个整数)

def validation(i):
try:
result = int(i)
return(result)
except ValueError:
print("Please enter a number")

def start():
x = input("Enter Number: ")
z = validation(x)
if z != None:

#Rest of function code
print("Success")
else:
start()
start()

当执行上面的代码并输入一个整数时,您会得到:

Enter Number: 1
Success

如果输入了无效值,例如字母或 float ,您会得到以下结果:

Enter Number: Hello
Please enter a number
Enter Number: 4.6
Please enter a number
Enter Number:

如您所见,它将继续循环,直到输入有效的 NUMBER 值。那么是否可以使用“try and except”函数不断循环,直到输入字母?为了使其更清楚,我将用模糊的结构化英语进行解释,而不是伪代码,只是为了帮助使其更清晰:

print ("Hello this will calculate your lucky number")

# Note this isn't the whole program, its just the validation section.
input (lucky number)
# English on what I want the code to do:

x = input (luckynumber)

所以我想要的是,如果变量“x”不是一个字母或多个字母,它应该重复此输入(x),直到用户输入有效的字母或多个>字母。换句话说,如果未输入字母,程序将不会继续,直到输入是字母。我希望这能让它更清楚。

最佳答案

您可以在 try/except 子句中再次调用相同的函数 - 为此,您必须稍微调整您的逻辑:

def validate_integer():
x = input('Please enter a number: ')
try:
int(x)
except ValueError:
print('Sorry, {} is not a valid number'.format(x))
return validate_integer()
return x

def start():
x = validate_integer()
if x:
print('Success!')

关于python - "Try and Except"区分字符串和整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34004510/

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