编写一个程序,通过显示“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")