当前位置: 首页 > 知识库问答 >
问题:

直到输入一个有效的,而循环。我需要一段时间,但是在哪里?

连坚白
2023-03-14

我需要用while循环修改程序,以不断提示用户输入密码。def user_input():“”从用户“”获取输入input1=input(“输入密码”)(如果长度检查(input1)!=真或字符检查(输入1)!=True:exit()elif length\u check(input1)和char\u check(input1):input2=input(“重新输入密码:”)

return input1, input2

DEFcheck_passwords(输入1,输入2): """ 计算并返回重力引起的加速度。通常情况下,这将是一个单行Docstring,就像在函数1中一样,但是我想提供一个多行docstring的例子。当一个函数需要额外的解释时,你可以使用这些。"""如果输入1==输入2:打印("密码改变了。")elif输入2!=input1: print("密码未更改。")

deflength_check(输入1):if len(输入1)

defchar_check(输入1):大写=[]数字=列表(范围(0,10))为i在范围(65,91):uppercase.append(chr(i))

counter = 0
for i in input1:  # Batman Surfs
    if i in uppercase:
        counter += 1
# print(counter)
if counter >= 2:
    if not any(char.isdigit() for char in input1):
        print('Password should have at least one numeral')
        return False
    else:
        return True

    # for i in input1:#Batman Surfs 1
    #     if i in numbers:
    #         return True
    #     else:
    #         print("Password must contain at least one number.")
    #         return False

else:
    print("Password must contain at least two uppercase letters.")
    return False

def main():“解释main()正在做什么”

input1, input2 = user_input()

char_check(input1)
check_passwords(input1, input2)

# function1(12, 13)
# m_e = 5  # mass in kg
# r_e = 6  # radius in metres
# gravity_on_earth = function2(m_e, r_e)
# print(gravity_on_earth)
enter code here

主()

共有1个答案

东方嘉木
2023-03-14

user\u input()函数更改为在输入无效时返回NoneNULLpython中的值)

def user_input():
    """ takes input from user """
    input1 = input("Enter a password : ")
    if length_check(input1) != True or char_check(input1) != True:
        # exit() # deleted
        return None, None # added
    elif length_check(input1) and char_check(input1):
        input2 = input("Reenter password: ")

    return input1, input2

当输入无效时,将main()函数更改为循环(如果返回,我们知道它是无效的)

def main():
    """ Explain WHAT main() is doing """

    input1, input2 = user_input()
    while input1 == None and input2 == None: # added
        input1, input2 = user_input() # added

    char_check(input1)
    check_passwords(input1, input2)

    # function1(12, 13)
    # m_e = 5  # mass in kg
    # r_e = 6  # radius in metres
    # gravity_on_earth = function2(m_e, r_e)
    # print(gravity_on_earth)
    # enter code here # deleted


main()

我为我添加的行添加了注释,并为我从代码中删除的行添加了注释。

 类似资料:
  • 问题内容: 有没有办法知道在Java中执行一个循环要花多少秒? 例如: 它不必精确到100%,而只是想知道要花费多长时间。里面的算法是一种写入.txt文件的密钥生成器。我希望它花费几分钟,因此对于我的第一次测试,我想计算秒数。 问题答案: 用Java编写微基准测试时需要非常小心。例如: 如果JIT编译器可以弄清楚循环体不影响代码结果,则可以对其进行优化。例如: 可能很快就会“运行”。 JIT编译后

  • 我正在创建一个Java项目,使用do-while循环从用户那里获取一个介于5到15之间的数字。在此之后,我将使用用户输入的数字创建一个正方形和三角形。 我现在只能重复我的问题。在我运行程序后,它运行良好,直到我输入一个数字,第二次提示用户输入一个数字。如果号码无效或无效,则不会打印。 我试着移动第二个“输入数字...”里面的do-loop,但那只是印有“对不起,无效”的提示。我对while循环中的

  • 问题内容: 我试图制作一个采用用户输入的多个名称的,直到插入单词为止,但我不确定如何使用。如何实现呢? 问题答案:

  • 我遇到了一个循环问题,我必须输入两次温度才能启动循环。我想我知道问题在哪里,只是不知道如何解决。我已经编写了总共三周的代码,所以我在这方面完全是个初学者。 这是我有问题的代码部分: 我想你明白我的意思了。我唯一能让循环工作的方法就是重复int.Parse(Console.ReadLine()),但也许还有另一种修复方法可以修复必须输入两次温度的问题? 真希望有人能帮我解决这个问题。

  • 我在一个时间循环中遇到了时间问题。目前这是我的代码 因此,我试图做的是,在自动启动时间和自动停止时间之间执行虽然循环。如果它是后自动停止,我希望同时循环被打破。如果有帮助的话,这是为一个灯例程实现的,其中灯只在上午8点(自动启动)和晚上8点(自动停止)之间运行,但为了等待看它是否工作,我将自动停止调整为仅比当前时间提前一分钟。 我似乎无法摆脱这个循环,这让我发疯,因为它应该相当简单。提前谢谢。