meisner7 2021-09-29 14:43 采纳率: 65.2%
浏览 82
已结题

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

编写一个程序,通过显示“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
既不是全部+也不是全部-。
总和 +。

  • 写回答

1条回答 默认 最新

  • yangbocsu Java领域新星创作者 2021-09-29 14:48
    关注

    我来

    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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 10月6日
  • 已采纳回答 9月29日
  • 创建了问题 9月29日