<p>我的程序有问题,真的很烦人我老是出错我都不知道为什么你能帮我?</p>
<p>我一直在获取builtins.type error:“int”类型的对象没有len()错误</p>
<p>当它进入密码验证阶段时,我无法找出问题所在。。</p>
<pre><code>#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)
</code></pre>