为了账号安全,请及时绑定邮箱和手机立即绑定

0 在 while 语句中未注册为数字

0 在 while 语句中未注册为数字

HUH函数 2022-08-16 10:50:10
我正在制作一个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:")

我认为这将解决您的问题


查看完整回答
反对 回复 2022-08-16
?
白板的微信

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: ')


查看完整回答
反对 回复 2022-08-16
  • 2 回答
  • 0 关注
  • 97 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信