求解,如何在循环中判断,每一次得到的结果并且在结束后输出

编写一个程序,通过显示“Number?”来连续询问用户几个数字。直到用户输入数字 0。然后程序应显示“全部 -”,或“全部 +”,或“仅 0”,或“既不是全部 +,也不是全部 -”,具体取决于用户是否只输入了负数,或者只有正数,或者只有零,或者没有上述情况。在后一种情况下(既不是所有 + 也不是所有 -),程序必须显示“Sum -”、“Sum = 0”或“Sum +”,具体取决于用户给出的数字的总和是否严格为负,零或严格的正数。

示例 1
数字? 9
数字? 7.2
数字? 3.4
数字? 0
全部 +

示例 2
数字? -2.1
数字?-26
数字? 0
全部 -

示例 3
数字? 0
只有 0

示例 4
数字? -2
数字? 5
数字?-1.1
数字? 0.5
数字? 0
既不是全部+也不是全部-。
总和 +。

我来

num = []
cnt1 = 0    #记录正数个数
cnt0 = 0    #记录负数个数
while True:
    temp = eval(input("数字?"))
    if temp > 0:  # 正数个数
        cnt1 = cnt1 + 1
    elif temp < 0:  # 负数个数
        cnt0 = cnt0 + 1
    if temp == 0:
        break
    num.append(temp)
if cnt1 == 0 and cnt0 != 0:   #正数个位0,负数的个数不为0
    print("全部 -")
elif cnt0 == 0 and cnt1 != 0: #负数个位0,正数的个数不为0
    print("全部 +")
elif cnt1 == 0 and cnt0 == 0: #正数个位0 负数个位0  输入的数字全是0
    print("只有 0")
else:
    print("既不是全部+也不是全部-")
    if sum(num) > 0:
        print("Sum +")
    elif sum(num) < 0:
        print("Sum -")
    else:
        print("Sum = 0")

img

img

img

img