<compilation>
当我运行代码并且输入的密码长度超过8和24时,它只打印&#34;此密码在给定的长度范围内&#34;无限地。 我不擅长编码,我确信我做错了。
答案 0 :(得分:0)
您忘记了break
语句来停止循环。循环语句有问题,主要是你错过了if
的{{1}}部分。
else
上述代码将一直运行,直到用户输入密码password=input("Please enter your chosen password within 8 and 24 letters: ")
while True: #will continue until break statement executes
if len(password)>8 and len(password)<24:
print("this password is within the given length range")
break #Quit the loop
else:
password=input("Please enter a password within the boundaries: ")
。
答案 1 :(得分:0)
如果你想不断提示他们输入密码,你需要在你的while循环中提示你的提示,并改变小于和大于标志。
password = ""
while len(password) < 8 or len(password) > 24:
password = input("Please enter your chosen password within 8 and 24 letters: ")
答案 2 :(得分:0)
else
仅在使用while
退出break
循环后执行(而不是在条件变为false时)。你只想要
password=input("Please enter your chosen password within 8 and 24 letters: ")
while len(password) < 8 or len(password) > 24:
password=input("Please enter a password within the boundaries: ")
如果您不介意对两个输入使用相同的提示,请使用带有显式中断的无限循环:
while True:
password=input("Please enter your chosen password within 8 and 24 letters: ")
if 8 <= len(password) <= 24:
break
答案 3 :(得分:0)
您可以在“密码”变量中存储有效密码。 while循环检查'password'是否有效,确认它是,并且它继续运行。如果用户键入无效密码而不是有效密码,您希望循环继续运行。尝试:
password=input("Please enter your chosen password within 8 and 24 letters: ")
while len(password)<8 or len(password)>24:
password=input("Please enter a password within the boundaries: ")
print("this password is within the given length range")