我正在尝试验证用户的输入.我只希望用户能够输入正整数或负整数.所有其他输入(即带字母的任何输入)都应该被拒绝
我现在有下面的代码,但是我收到了错误.我假设它与数据类型有关,但我不确定如何解决这个问题.
import re
number =input("Please enter a number: ")
number=int(number)
while not re.match("^[0-9 \-]+$", number):
print ("Error! Make sure you only use numbers")
number = input("Please enter a number: ")
print("You picked number "+ number)
Run Code Online (Sandbox Code Playgroud)
如果你关心的是输入是一个有效的数字文字,甚至不要打扰正则表达式. int将正确解析字符串或引发异常.
while True:
s = input("Please enter a number: ")
try:
n = int(s)
break
except ValueError:
print("Error! Make sure you only use numbers")
print("You picked number " + n)
Run Code Online (Sandbox Code Playgroud)