获取用户的输入,直到为负数,然后计算它们的总和。(使用while循环)

问题描述 投票:0回答:4

因此,练习是获取用户的输入,直到他们输入负数,然后计算负数之前的数字之和。 (使用 while 循环)。

while True:
a = 0
summ = 0
while a >= 0:
    a = int(input("enter a number: "))
    summ = summ + a
    if a < 0:
        print(summ)

这是我为本练习编写的代码,但问题是它也计算负数。 我对 python 还很陌生,这是我应该做的 python 练习之一,以了解更多关于算法的知识。

python python-3.x algorithm while-loop range
4个回答
1
投票
allNonNegative = True
summ = 0
while allNonNegative:
    a = int(input("enter a number: "))
    if a >= 0:
        summ = summ + a
    else:
        allNonNegative= False
        print(summ)

0
投票

您需要使用 IF 语句来检查负值

summ = 0
while True:
    a = int(input("enter a number: "))
    if a < 0:
        break
    summ = summ + a
    print(summ)

0
投票

您根本不需要

if
while
已检查过该情况。体内无需再次检查。

这里有两种解决您问题的方法。

第一种选择:通过减法取消额外的加法

a = 0
summ = 0
while a >= 0:
    a = int(input("enter a number: "))
    summ = summ + a
summ = summ - a
print(summ)

第二种选择:仅添加非负数

prompt = "enter a number: "
summ = 0
a = int(input(prompt))
while a >= 0:
    summ = summ + a
    a = int(input(prompt))
print(summ)

0
投票

实现一个名为 doWhileCalculateSum 的函数,该函数返回一个不带参数的整数。

该函数应要求用户输入一系列正整数。使用 do-while 循环计算输入数字的总和。继续提示输入,直到输入负数,然后终止程序并返回总和。 C++

输出示例1

输入正整数:1 输入正整数:2 输入正整数:3 输入正整数:4 输入正整数:5 输入正整数:6 输入正整数:-1 总和:21

© www.soinside.com 2019 - 2024. All rights reserved.