程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了尝试除非两个输入相同大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决尝试除非两个输入相同?

开发过程中遇到尝试除非两个输入相同的问题如何解决?下面主要结合日常开发的经验,给出你关于尝试除非两个输入相同的解决方法建议,希望对你解决尝试除非两个输入相同有所启发或帮助;

我目前有一个如下所示的 while 循环:

while True:
    try:
        entry1 = input("input the first number")
        entry2 = input("enter the second number")
        break
    except ValueError:
        print("number must be valID re-enter")

我想添加代码,如果用户决定输入两个相同的数字,将重新提示用户输入两个不同的数字。我尝试使用以下方法:

while True:
    try:
        entry1 = input("input the first number")
        entry2 = input("enter the second number")
        break
    except ValueError:
        print("number must be valID re-enter")
    try: 
        if entry1 == entry2:
            raise ValueError
        else:
            break
    except ValueError as err:
        print("The two numbers cant be the same. re-enter two unique numbers!"

不幸的是,这不起作用。有谁知道我的代码出了什么问题?

解决方法

您可以使用 assert 方法来确保 2 个输入不同,如果它们不同,则使用 AssertionError 进行捕获。

while True:
    try:
        entry1 = int(input("input the first number"))
        entry2 = int(input("enter the second number"))
        assert entry1 != entry2
        break
    except ValueError:
        print("number must be valid re-enter")
    except AssertionError:
        print("The two numbers cant be the same. re-enter two unique numbers!")
,

对于您所描述的内容,您不需要所有这些例外。例如,您可以将比较用作 while 循环的条件:

entry1 = entry2 = 0
while entry1 == entry2:
    entry1 = input("input the first number")
    entry2 = input("enter the second number")
    if entry1 == entry2:
        print("The two numbers can't be the same. re-enter two unique numbers!")

编辑: 当然,将输入转换为 int 并在不起作用时捕获错误是有意义的。可能是这样的

entry1 = entry2 = 0
while entry1 == entry2:
    try:
        entry1 = int(input("input the first number"))
        entry2 = int(input("enter the second number"))
        if entry1 == entry2:
            print("The two numbers can't be the same. re-enter two unique numbers!")
    except ValueError:
        print("Please enter valid numbers")
,

break 被错误地调用。 try-except 块太多。

 while True:
    try:
        entry1 = input("input the first number: ")
        entry2 = input("enter the second number: ")
    except ValueError:
        print("number must be valid re-enter.")

    if entry1 == entry2:
            print("The two numbers cant be the same. re-enter two "
                  "uniquen numbers!")
    else :
        break

大佬总结

以上是大佬教程为你收集整理的尝试除非两个输入相同全部内容,希望文章能够帮你解决尝试除非两个输入相同所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。