While 循环 - 负整数的总数不准确

While Loop - Inaccurate total count of negative integers

我应该编写一个在输入 0 时退出的代码。然后求输入的数字之和以及正负整数的数量。我不知道如何使负整数的总数正确。有什么问题吗?

num = 0
total = 0
pos = 0
neg = 0
L = []

while(True):
    num = int(input('Enter the number(If you enter 0, the program quits) : '))
    if num == 0:
        break
    L.append(num)
    total += num
    num += 1
    if num >= 0:
        pos += 1
    else:
        neg += 1
print('Entered numbers:', L)
print('Total : %d, Positive numbers : %d, Negative numbers : %d' % (total, pos, neg))

将if-else放在num += 1行上方,否则在计算正数或负数时,num已更改为另一个值。代码应该是这样的:

L.append(num)
total += num
if num >= 0:
    pos += 1
else:
    neg += 1
num += 1