我正在制作一个PIN检查系统,我使用了一个while循环来确保PIN码的长度正好是4位数:pin_number = int(input("Enter PIN: "))
While len(str(abs(pin_number))) != 4:
Print("invalid pin")
pin_number = int(input("Enter PIN: "))代码本身有效,除非PIN为4位数字,否则系统将无法继续。但是,如果第一个数字是 ,则不会注册为正确。意思是,不起作用,但如果在引脚的中间或末端,它确实有效。我该如何克服这个问题,让python注册为数字?0035800
2 回答
慕田峪9158850
TA贡献1794条经验 获得超7个赞
对于此问题语句,无需先对 int 进行类型转换。只需获取输入检查字符串的长度是否为4,并检查字符串中的所有字符是否都是数字。
pin_number = input("Enter pin:")
while len(pin_number) != 4 or not pin_number.isdigit():
print("invalid pin")
pin_number = input("Enter pin:")
我认为这将解决您的问题
白板的微信
TA贡献1883条经验 获得超3个赞
不要将输入类型转换为 int:
您可以执行以下操作:
pin_number = input('Enter PIN: ')
while len(pin_number) != 4 or not pin_number.isnumeric():
print('invalid pin')
pin_number = input('Enter PIN: ')
添加回答
举报
0/150
提交
取消