【问题标题】:How to sum input numbers using while loop? (python)如何使用while循环对输入数字求和? (Python)
【发布时间】:2022-11-09 22:30:38
【问题描述】:

初学者的问题,我必须创建一个程序,要求用户输入数字(输入 0 以中断),然后计算数字的总数,然后计算输入数字的总和。 如何使用 while 循环打印用户输入数字的总和?这是我到目前为止得到的

amount = 0
while True:
    amount += 1
    number = int(input("Number: "))
    if number == 0:
        break
    
print(f"Numbers in total: {amount-1}")

【问题讨论】:

    标签: python


    【解决方案1】:

    你很亲密。与amount = 0 相同,创建一个变量total = 0。并且,在循环中,在您正在阅读它的行之后添加total += number

    【讨论】:

      【解决方案2】:

      您可以简单地使用与输入数量相同的技术:

      amount = 0
      number = 0
      while True:
          amount += 1
          number += int(input("Number: "))
          if number == 0:
              break
      
      print(f"Numbers in total: {amount-1}")
      print(f"Sum of the numbers : {number}")
      

      【讨论】:

        【解决方案3】:
        number_of_numbers=0
        total_sum=0
        while True:
            number = int(input("Number: "))
            if number == 0:
                break
            number_of_numbers += 1
            total_sum += number
        
        print("Total number of numbers is: ", number_of_numbers)
        print("Total sum is: ", total_sum)
        

        你快到了,只需要添加另一个变量来获得总和。除此之外,它几乎与您的代码相同。只是在添加总数之前添加了 if 条件。

        【讨论】:

          【解决方案4】:

          像这样的东西应该可以工作:

          iteration = 0
          amount = 0
          while True:
              iteration++
              number = int(input("Number: "))
              if number == 0:
                  break
              amount += number
              print(f"Sum so far: {amount}")
              
          print(f"Numbers in total: {iteration-1}")
          

          【讨论】:

            【解决方案5】:

            有时您可以尝试使用...除了。下面是一个示例,但不仅仅如此。

            #!/usr/bin/env python3
            
            number = "Enter an integer, "
            number += "the input ends if a zero is entered: "
            msg = "No numbers were entered except zero"
            
            sumNum = 0
            count_positives = 0
            count_negatives = 0
            
            flag = 1
            
            try:
                while flag:
                
                    prompt = int(input(number))
                    
                    if (prompt < 0):
                        count_negatives += 1
                        
                    if (prompt > 0):
                        count_positives += 1
            
                    sumNum += prompt
                    totalNums = count_positives + count_negatives
                    avg = sumNum / totalNums
            
                    if (prompt == 0):
                        print(f"The number of positives is {count_positives}")
                        print(f"The number of negatives is {count_negatives}")
                        print(f"The total is {sumNum}")
                        print(f"The average is {avg}")
                        break
            
            except ZeroDivisionError:
                print(msg)
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2020-10-19
              • 1970-01-01
              • 2022-11-17
              • 2013-09-06
              • 1970-01-01
              • 2022-06-24
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多