我有一个询问用户姓名的程序:
while True:
try:
name = str(input("Please enter your name > "))
except ValueError:
print("Please enter a valid name")
continue
else:
break
我想阻止用户输入整数,但是上面的代码可以在字符串中接受整数。如何防止用户在字符串中输入整数?
请您参考如下方法:
首先,不要将 str 转换为 input 返回 str。来自 docs 的注释
The function then reads a line from input, converts it to a string (stripping a trailing newline), and returns that
将输入输入到 name 后,您可以有一个 if 条件。
name = str(input("Please enter your name > "))
if (re.search('\d',name)):
print("Sorry your name contains a number")
别忘了 import re
