首页 > 解决方案 > 编写一个以负数结尾的循环并打印正数的总和

问题描述

我必须编写一个带有循环的程序,要求用户输入一系列正数。用户应该输入一个负数来表示系列的结束,并且在输入所有正数之后,程序应该显示它们的总和。

我不知道在此之后该怎么做,或者这是否正确(可能不是):

x = input("numbers: ")
lst = []

for i in x:
    if i > 0:
        i.insert(lst)
    if i < 0:
        break

标签: pythonpython-3.x

解决方案


def series():
    sum1 = 0
    while True:
        number = int(input("Choose a number, -1 to quit:"))
        if number>=0:
            sum1+=number
        else:
            return sum1
series()

while True意味着算法必须继续进入循环,直到有东西破坏它或返回一个结束算法的值。

因此,while True继续要求 a integer input,如果给定的整数是正数或等于零,则将它们添加到 a sum1else返回这个累积的sum1


推荐阅读