我试图使用异常处理来控制用户的输入。我需要他们只输入一个正数,然后我必须返回并打印出那个数字。 如果用户输入非数字,我必须发送消息;如果用户输入的数字小于1,我必须发送消息。以下是我所拥有的:
def input_validation(prompt):
boolChoice = True
while boolChoice == True:
try:
l = input(prompt)
x = int(l)
boolChoice = False
except ValueError:
print("Not a valid input")
if l.isalpha() == True:
print("Your input is not a number")
elif l.isalnum() == True:
print ("Your input is not completely a positive number")
elif l < 0:
print("Your number is not positive")
print("Try again")
return x
def main():
x = input_validation("Enter a positive number: ")
print (x)
main()
在输入负整数之前,我的程序工作正常。它不打印消息,然后再次通过循环,它只是返回并打印回负数,这是我不想要的。我怎样才能解决这个问题?多谢各位
试一试
您可以使用
try...except
检查它是整数还是字母相关问题 更多 >
编程相关推荐