所以我正在制作一个素数探测器作为一个项目。我非常喜欢编程,我的朋友给我看了一个小蟒蛇。我想创建一个函数来检测用户是否输入了一个输入数字(如5,28,156,42,63)以及是否放入其他内容(如香蕉,裤子或谷物)以给他们一个自定义错误说“无效号码。请再试一次”然后循环程序直到他们输入一个数字。
请帮我完成这项工作。
def number_checker():
user_number = int(input('Please enter a Number: '))
check = isinstance(user_number, int)
if check == True:
print ('This is a number')
if check == False:
print ('This is not a number')
答案 0 :(得分:1)
1)如果输入字符串无法转换为int
,则将输入转换为int
会引发异常。
user_number = int(input('Please enter a Number: '))
^^^
2)与user_number
实例交叉验证int
是没有意义的,因为它已经int
了
3)你可以尝试
def number_checker():
while not input("enter num: ").isdigit():
print("This is not a number")
print("This is a number")
number_checker()
答案 1 :(得分:-1)
请尝试以下操作:
def number_checker():
msg = 'Put your number > '
while True:
user_input = input(msg)
correct = user_input.isdigit()
if correct:
print("This is an integer")
return # here you can put int(user_input)
else:
print("This is not an integer")
msg = 'You typed not integer. Try again.> '
if __name__ == '__main__':
number_checker()
它也是一个很好的规则,根据他们的行为为你的函数命名为动词。对于这个,我会给出,例如def int_input
或其他东西。