仅对正数求和的 Python 程序

我正在尝试编写一个只对输入的正数求和的程序。当用户输入负数时,程序停止但不会将该负数添加到总和中。如何让程序不将负数添加到总和中?这是我所拥有的。


  # set parameters for user

  print('Enter a positive number then hit enter, When you want to end the 

  process enter a negative number')

  entered_number = 0

  value = 0


  # user enters numbers

  while entered_number >= 0:

      entered_number = int(input('Enter a number: '))

      value += entered_number


  # prints sum of numbers entered


  print('The total sum of the numbers you entered is', value)

如果我输入 2 , 2 , -1 是 3,那么我上面代码的总和就是 3。如果我输入 2, 2, -1,我希望程序的总和是 4。


烙印99
浏览 179回答 1
1回答

慕婉清6462132

循环会将负数添加到变量中,value因为在实际添加输入的(负)数之前您不会终止循环。while entered_number >= 0:&nbsp; &nbsp; entered_number = int(input('Enter a positive number: '))&nbsp; &nbsp; value += entered_number # If entered_number is negative it will still&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # be added, because the loop will terminate&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # after this iteration有两种解决方案:value += entered_number在输入新号码的位置之前移动到这样循环将在将其添加到总和之前评估输入的数字while entered_number >= 0:&nbsp; &nbsp; value += entered_number&nbsp; &nbsp; entered_number = int(input('Enter a positive number: '))永远循环并在循环内中断逻辑与 1 中的相同,只是我们检查的方式不同。while True:&nbsp; &nbsp; entered_number = int(input('Enter a positive number: '))&nbsp; &nbsp; if entered_number < 0:&nbsp; &nbsp; &nbsp; &nbsp; break&nbsp; &nbsp; value += entered_number # This line will only be reached if we&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #&nbsp; haven't breaked out from the loop
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python