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

我正在制作一个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


HUH函数
浏览 147回答 2
2回答

慕田峪9158850

对于此问题语句,无需先对 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:")我认为这将解决您的问题

白板的微信

不要将输入类型转换为 int:您可以执行以下操作:pin_number = input('Enter PIN: ')while len(pin_number) != 4 or not pin_number.isnumeric():     print('invalid pin')     pin_number = input('Enter PIN: ')
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python