如何从else语句中重新启动我的代码?

2024-06-11 18:29:37 发布

您现在位置:Python中文网/ 问答频道 /正文

这里有一些我一直在编写的代码(python3.4),我不知道如何在else语句之后重新启动程序。我知道没有goto语句

我尝试过把if语句放在while true循环中,但它只是循环print行,反复打印输出

import random
    import string

    PassGen = ""

    length = int(input("how many characters would you like your password to have 8-15? "))

    if 8 <= length <=15:
        while len(PassGen) != length:
            Num1 = random.choice(string.ascii_uppercase)
            Num2 = random.choice(string.ascii_lowercase)
            Num3 = random.choice(string.digits)
            everything = [Num1, Num2, Num3]
            PassGen += random.choice(everything)
        print (PassGen)
    else:
        print ("that is an incorrect value")

目前,它可以很好地工作,从用户那里获取输入,然后查看输入是否在8-15之间。如果是这样的话,它将生成一个带有内部while循环的密码。否则,它将打印不正确的值


Tags: importstringifasciirandom语句lengthelse
1条回答
网友
1楼 · 发布于 2024-06-11 18:29:37

你很接近while True很好,但您还需要一个break来摆脱它:

while True:
    length = int(input("how many characters would you like in your password"))
    if 8 <= length <=15:
        while len(PassGen) != length:
            Num1 = random.choice(string.ascii_uppercase)
            Num2 = random.choice(string.ascii_lowercase)
            Num3 = random.choice(string.digits)
            everything = [Num1, Num2, Num3]
            PassGen += random.choice(everything)
        print (PassGen)
        break
    else:
        print ("that is an incorrect value")

相关问题 更多 >