想要从用户获取特定数量的整数输入

时间:2019-07-19 12:02:38

标签: python-3.x

我是Python的初学者。我正在创建一种ATM刺激程序,要求用户输入他们的密码,我希望用户输入正好4位数字的长密码。

我该怎么办?感谢您的帮助

1 个答案:

答案 0 :(得分:0)

您大概会将用户的PIN存储在某个地方进行验证。每当用户更新其PIN或首次创建PIN时,您都必须验证PIN的长度。当他们只是登录时,输入的长度无关紧要。如果他们输入的PIN码长度为5位数字,则显然与他们的实际PIN码不匹配,登录将失败。

要验证输入的字符是否为4个字母,可以使用正则表达式(import re,re.match(pattern,input_string))。

我建议使用getpass模块中的getpass()来隐藏用户输入(而不是通常的input()函数)。在此示例中,我将PIN打印到屏幕上以显示输入内容:

from getpass import getpass
import re

pin = getpass("Insert PIN: ")

validPIN = re.compile('\d{4}')

print(f"Input PIN is {pin}")

if re.match(validPIN, pin):
    print('valid PIN')
else:
    print('invalid PIN')

enter image description here