ValueError起作用,但阻止代码运行

问题描述 投票:0回答:1

我可以使程序正确计数,并且除了浮点数和字符串以外,我都可以使程序计数,但是当我将这两段代码放在一起时,程序将不会运行计数。感谢您的帮助。

print("\tProgram counts the number of positive integers.")

def numCount():

    even_count = 0
    odd_count = 0
    even_sum = 0
    odd_sum = 0
    total = 0

    while True:
        try:
            num = int(input("Input an integer to count 0 exits program: "))
        except ValueError:
            print("Please enter an integer.")
            continue
        else:
            return num                 
        if num == 0:
            break
        elif num < 1:
            continue
        elif num % 2 == 0:
            even_count += 1
            even_sum += num
        else:
            odd_count += 1
            odd_sum += num
        total += 1
    print("\nTotal positive intger count is:", total)
numCount()
python valueerror
1个回答
0
投票

您不应该在try / except的num语句中返回else。这将立即退出该函数并返回num的当前值,而不是继续在其余代码中对其进行处理。

要解决此问题,您只需删除else语句。

© www.soinside.com 2019 - 2024. All rights reserved.