重新启动 while 循环?

-2 投票
1 回答
5499 浏览
提问于 2025-04-18 09:49

我在制作一个密码程序,需要一些帮助:

while len(pw) <= 6 and len(pw) >= 12  is True:
    print ('')
else:
     print ('Please Re-Enter your password, as it must be between 6-12 characters long')
     continue

这是我现在的代码,但是continue这个语句在循环外面,所以我无法重新开始这个循环。

那我该怎么重新启动这个循环呢?谢谢!

1 个回答

1

试试这个:

pw = ''
while len(pw) < 6 or len(pw) > 12:
    pw = raw_input('Please enter a password between 6-12 characters long: ')

这样运行会得到:

>>> pw = ''
>>> while len(pw) < 6 or len(pw) > 12:
...     pw = raw_input('Please enter a password between 6-12 characters long: ')
... 
Please enter a password between 6-12 characters long: one
Please enter a password between 6-12 characters long: this is a long sentence
Please enter a password between 6-12 characters long: this works
>>> 

在上面的代码中,我们把 pw 设置为一个长度为0的字符串。然后,直到这个字符串的长度符合我们的要求(6到12个字符),我们就会不断地请求输入。

或者,如果你想使用 continue

>>> while True:
...     pw = raw_input('Please enter a password between 6-12 characters long: ')
...     if len(pw) < 6 or len(pw) > 12:
...             print('Please Re-Enter your password, as it must be between 6-12 characters long')
...             continue
...     break
... 
Please enter a password between 6-12 characters long: one
Please Re-Enter your password, as it must be between 6-12 characters long
Please enter a password between 6-12 characters long: this is a long sentence
Please Re-Enter your password, as it must be between 6-12 characters long
Please enter a password between 6-12 characters long: this works
>>> 

你的 continue 在 while 循环外面,所以你不能“重新进入”,可以这么理解。

撰写回答