为了账号安全,请及时绑定邮箱和手机立即绑定

仅对正数求和的 Python 程序

仅对正数求和的 Python 程序

烙印99 2021-06-29 13:54:46
我正在尝试编写一个只对输入的正数求和的程序。当用户输入负数时,程序停止但不会将该负数添加到总和中。如何让程序不将负数添加到总和中?这是我所拥有的。  # 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。
查看完整描述

1 回答

?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

循环会将负数添加到变量中,value因为在实际添加输入的(负)数之前您不会终止循环。


while entered_number >= 0:

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

    value += entered_number # If entered_number is negative it will still

                            # be added, because the loop will terminate 

                            # after this iteration

有两种解决方案:


value += entered_number在输入新号码的位置之前移动到

这样循环将在将其添加到总和之前评估输入的数字


while entered_number >= 0:

    value += entered_number

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

永远循环并在循环内中断

逻辑与 1 中的相同,只是我们检查的方式不同。


while True:

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

    if entered_number < 0:

        break

    value += entered_number # This line will only be reached if we

                            #  haven't breaked out from the loop


查看完整回答
反对 回复 2021-07-06
  • 1 回答
  • 0 关注
  • 177 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号