我想从用户那里获取输入,但只接收 numbers.in Python 的输入



我正在尝试制作一个程序,如果用户将输入他的手机。我希望他只能写数字,如果他写了一封信,那么它要么删除他刚刚写的字符,要么将他的键盘"锁定"为仅数字。我目前正在使用 try/except 来工作,但我仍然想知道是否有一个库或函数允许我只向用户授予对某些密钥的访问权限。 提前谢谢你!

您可以使用while循环输入,直到用户仅输入数字:

def getInput():
value = input("Please enter number: ")
while not value.isnumeric():
print("Invalid number")
value = input("Please enter valid number: ")
return int(value)
getInput()

您不能"限制"用户可以使用input()函数本身键入的键。你可以(据我所知 - 我实际上没有尝试(使用curses模块在类 unix 系统上获得这个结果,但你需要一些外部库才能让它在 Windows 上运行。在所有情况下,它都需要更多的编码(curses 不完全是一个简单、现代的 UI 库(。

作为旁注,电话号码可以包含非数字字符(想想国际电话号码(;-(

您无法停止这样的输入,但可以使用 try-except 语句。
通过再次请求输入或返回打印错误。

try:
user_input = int(input("Number input: "))
except ValueError:
user_input = int(input("Number input: "))

同样,如果您希望重复此操作,直到用户输入数字,则可以使用 while 循环并中断。

while True:
try:
user_input = int(input("Number input: "))
if int(user_input):
break
except ValueError:
print("Input is not an number")

最新更新