【问题标题】:How to sum numbers from input?如何对输入中的数字求和?
【发布时间】:2016-10-10 03:45:26
【问题描述】:

我正在解决以下问题。

编写一个程序,不断提示输入正整数,并在输入的数字总和超过 1000 时停止。 但是如果输入负整数,我的代码会提前停止。

数字不会相加。

我的代码:

x = int(input("Enter an integer:"))
total = 0
sum = 0
while (0 <= x):
    if sum <= 1000:
        x += 1
        sum += (int(input("Enter an integer:")))
    elif sum >= 1000:
        break

【问题讨论】:

    标签: python-3.x input integer sum


    【解决方案1】:
    x = 0
    total = 0
    sum = 0
    while sum <= 1000:
        x = int(input("Enter an integer:"))
        if x<0:
            print("Invalid negative value given")
            break
        sum += x
    


    第一:

    if sum >= 1000:
        ...
    elif sum < 1000:
        ...
    

    是多余的,因为如果您检查sum &gt;= 1000,并且达到elif,您就知道条件是False,因此sum &lt; 1000 必须为真。所以你可以用

    替换它
    if sum >= 1000:
        ...
    else:
        ...
    


    第二:
    您想使用x 来检查输入是否为负。直到现在,您每次都将其简单地增加一。相反,您应该首先将输入分配给x,然后将其添加到sum。所以这样做:

    x = int(input("Enter an integer:"))
    if x<0:
        break
    sum += x
    

    【讨论】:

      【解决方案2】:

      万一遇到负数就想停下来。

      x = 0
      total = 0
      sum = 0
      while (sum <= 1000):
          x = (int(input("Enter an integer:"))
          if (x < 0):
              break
          else:
              sum += x
      

      【讨论】:

        猜你喜欢
        • 2022-11-17
        • 1970-01-01
        • 2022-11-09
        • 2019-02-03
        • 1970-01-01
        • 1970-01-01
        • 2021-02-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多