我的程序有问题,这真的很烦人我一直收到错误我什至不知道为什么你能帮助我?
我不断收到 builtins.TypeError:“int”类型的对象没有 len() 错误
当它进入密码验证阶段时,我无法弄清楚问题是什么..
#Program asking for a username, password and security pin
#Written by Cole Johnston
#19/08/13 -
#Declare/Initialize variables
sFirstName = "" #User's input of their first name (the minimum is 2 characters) (string)
sLastName = "" #User's input of their last name (the minimum is 4 characters) (string)
sPassword = "" #User's input of their password (it must have a minimum length of 6 characters and a maximum length of 10 characters. It must contain at least 2 numbers in the password, it is case sensitive)
iPinNo = 0 #User's chosen input of security pin (It must be 4 characters long and contain only numbers which are single digit and range between 0-9)
iCount = 0 #The amount of times the user enters an invalid username (integer)
sMessage = "" #Message for user (string)
iFirstNameCheck=0 #Checks first name
iLastNameCheck=0 #Checks last name
iPasswordCheck=0 #Checks password
iPinNoCheck=0 #Checks pin
sUserName = "" #Creates a username for the user (uses first and last name)
sPasswordVerification = "" #Checks the password is correct and same as the first one
def APFirstERROR():
print(("ERROR: Incorrect Attemps consisting of 3 \n\t Closing program"))
sys.ext
def APSecondERROR():
print (("ERROR: Incorrect Attemps consisting of 3 \n\t Closing program"))
sys.ext
def APThirdERROR():
print (("ERROR: Incorrect Attemps consisting of 3 \n\t Closing program"))
sys.ext
def APFourthERROR():
print (("ERROR: Incorrect Attemps consisting of 3 \n\t Closing program"))
sys.ext
#Ask for the users First name
while len(sFirstName) <2:
sFirstName=input("Could you please enter your first name: ")
if len(sFirstName) <2:
print("\tERROR: I'm sorry, you must enter a minumum of two characters")
FirstName = ""
iFirstNameCheck = iFirstNameCheck +1
print (iFirstNameCheck, "Incorrect attempt")
if iFirstNameCheck == 3:
APFirstERROR()
#Ask for the users Last name
while len(sLastName) <4:
sLastName = input("Could you please enter your last name: ")
if len(sLastName) <4 :
print ("\tERROR: I'm sorry, you must enter a minumum of four characters")
LastName = ""
iLastNameCheck = iLastNameCheck +1
print (iLastNameCheck, "Incorrect attempt")
if iLastNameCheck==3:
APSecondERROR()
sUsername = "Congratulations, your username will be " + sLastName[0:4] + sFirstName[0:1]
print (sUsername)
while sPassword is "":
sPassword=input("Could you please enter a password: ")
if len(sPassword) <6 or len(sPassword) >10 :
print("ERROR: I'm sorry, your password must be 6 characters or more but not exceeding 10 characters.\nPlease try again")
if sum(c.isdigit() for c in sPassword) <2:
print("Im sorry, your password does not contain enough numbers.\nThe requirements are a minimum of 2 numbers")
sPassword=""
iPasswordCheck=iPasswordCheck+1
print(iPasswordCheck, "Incorrect Attempt")
if iPasswordCheck ==3:
sPassword="Incorrect"
APErrorThird()
break
#Verify the password
while sPasswordVerification is "":
sPasswordVerification=input("Please enter your password a second time for verification: ")
if sPasswordVerification==sPassword:
print("That password is Accepted")
if not sPasswordVerification==sPassword:
sPasswordVerification=""
print ("I'm sorry, that password is: Not accepted")
a
#ASk user for pin creation
while len(iPinNo) <4:
iPinNo= input("Now could you please create a pin number. The requirements are that it must be only numbers (0-9). Must be 4 numbers long\n\tpin=?\t\n:")
if not re.match("^[1-9]*$", iPinNo):
print ("ERROR: I'm sorry but only numbers between 1-9 are allowed!")
if len (iPinNo) <4:
print ("I'm sorry, your pin number MUST be 4 characters.")
iPinNoCheck=iPinNoCheck+1
print (iPinNoCheck, "Incorrect Attempt")
if iPinNoCheck==3:
iPinNo ="Incorrect"
APErrorFourth()
#Display the Username, the Password and the Pin number
print ("Okay, " + (sFirstName) +" Your username is: ",sUsername)
print("And, Your password is: ",sPassword)
print ("Finally , Your Security pin is: ",iPinNo)