优化 python while 循环,但出现 try 异常 [已关闭]

Optimise python while loop with try exception [closed]

提问人:Louw Pieters 提问时间:11/7/2023 最后编辑:CowLouw Pieters 更新时间:11/7/2023 访问量:54

问:


想改进这个问题吗?更新问题,使其仅通过编辑这篇文章来关注一个问题。

13天前关闭。

对于新手 python 开发人员来说,这是一个简单的问题,但据我所知,python 代码可以优化很多......我想知道是否有办法优化以下内容,所以我不需要 2 个 while 循环,但我也不想重新要求用户输入第一个数字,如果他已经正确输入了:

def sum(a, b):
    return (a + b)

while True:
    try:
        # TODO: write code...
        a = int(input('Enter 1st number: '))
        break
    except:
        print("Only integers allowed for input!")
        continue

while True:
    try:
        # TODO: write code...
        b = int(input('Enter 2nd number: '))
        break
    except:
        print("Only integers allowed for input!")
        continue

print(f'Sum of {a} and {b} is {sum(a, b)}')
python 循环 优化 while-loop try-catch

评论

0赞 Thierry Lathuille 11/7/2023
由于您的代码正在工作,这个问题更适合 codereview.stackexchange.com

答:

1赞 DeepSpace 11/7/2023 #1

您可以使用函数(具有简化循环)。 您可能需要重命名该函数,因为已经存在具有相同名称的内置函数。sum

def my_sum(a, b):
    return a + b

def get_int_from_user():
    while True:
        try:
            # TODO: write code...
            return int(input('Enter a number: '))
        except:
            print("Only integers allowed for input!")


a = get_int_from_user()
b = get_int_from_user()

print(f'Sum of {a} and {b} is {my_sum(a, b)}')