当前位置: 首页 > 知识库问答 >
问题:

尝试使用while循环计算数字之和

金钊
2023-03-14

我试图用while循环计算多个数字的和。当输入负数时,应打印数字之和。当我运行代码时,它所做的就是打印最后输入的正数。以下是当前的非工作代码:

sum = 0
number = 1
while number > 0:
    number = int(input('Enter a positive number: '))
    if number > 0:
        tot = sum + number
print("The sum of the numbers is", tot)

共有3个答案

唐阳泽
2023-03-14

这是因为总和总是0——试试这个;

tot = 0
number = 1
while number > 0:
    number = int(input('Enter a positive number: '))
    if number > 0:
        tot = tot + number
print("The sum of the numbers is", tot)
曾航
2023-03-14

您可能混淆了变量名totsum。如果您将tot替换为,您的输出将是正确的和。这样,sum将根据其先前的值正确更新:

sum = 0
number = 1
while number > 0:
    number = int(input('Enter a positive number: '))
    if number > 0:
        sum = sum + number
print("The sum of the numbers is", sum)
廖弘伟
2023-03-14

您一直在修改一个名为tot的变量,但每次它都被(0)加上数字(当前数字)覆盖。

相反,每次将总数添加到sum,如下所示:

sum = 0
number = 1
while number > 0:
    number = int(input('Enter a positive number: '))
    if number > 0:
        sum = sum + number
print("The sum of the numbers is", sum)

现在,当你输入正数时,sum将继续增长。你根本不需要变量tot

你甚至可以使用这个很酷的“=”操作符直接增加和的值,并为你节省一些打字时间:

sum = 0
number = 1
while number > 0:
    number = int(input('Enter a positive number: '))
    if number > 0:
        sum += number
print("The sum of the numbers is", sum)

 类似资料:
  • 问题内容: 下面的代码询问用户他/她想要多少个赛车手。 如果在代码中输入数字,则代码会跳出循环,并且程序的其余部分可以正常运行;但是,当我输入诸如“ awredsf”之类的内容时,它应该捕获该异常,并且确实如此。它没有连续提示用户,而是连续循环,这对我来说没有意义。 连续循环时,程序打印如下: 多少赛车手应该参加比赛?多少赛车手应该参加比赛?多少赛车手应该参加比赛?多少赛车手应该参加比赛?多少赛车

  • 本文向大家介绍MySQL循环语句之while循环测试,包括了MySQL循环语句之while循环测试的使用技巧和注意事项,需要的朋友参考一下 mysql 操作同样有循环语句操作,网上说有3中标准的循环方式: while 循环 、 loop 循环和repeat循环。还有一种非标准的循环: goto。 鉴于goto 语句的跳跃性会造成使用的的思维混乱,所以不建议使用。 这几个循环语句的格式如下: WHI

  • 此方法重复读取命令并执行它们,直到游戏结束。完成的变量为true时,表示玩家/用户点击了退出并想要结束游戏——从而退出循环并执行到方法结束。 但我观察到循环有一种奇怪的行为。它循环得非常好(省略以下行时显示stopWatch.getTime()的连续计数: 但是当我把它们放回去时,它会停止显示秒表的连续递增时间,因为它会朝着时间限制增加(在这一点上,它应该停止)。即使玩家没有输入任何命令或输入。

  • 我在学习python的时候正在制作一个计算器程序,我在高中时学过Java,还不知道任何高级python函数,所以尽量不要使用太高级的东西,但让我们来解决我的问题。对不起,如果这个问题没有组织好,我从来没有在这里发布过。整个程序将位于底部。 我卡住的地方是,我让用户输入他们想要使用的操作符,然后它要求数字1和数字2。如果用户在任何时候输入“退出”或“停止”,程序就会退出,对于操作员部分,它会退出并显

  • Imma java新手,所以我试着学东西。我创建了一个布尔方法,这是一个小的骰子游戏。我需要这个方法是从main方法调用,并继续玩,而返回值是真的(游戏是赢的),但停止执行,如果返回值是假的。我也需要多少次球员赢了。所以我创造了这样的东西: 初始化为私有静态int

  • 大家好。这是我学习编程的第五周。我应该创建一个程序,让用户三次尝试输入一个有效的值。如果第三次尝试的值无效(负数),那么它将提示错误消息并终止。 问题是我可以输入两个无效值,后跟一个有效值,但它仍然会给出错误消息并终止。程序应计算第三个有效值并进行数学运算,然后打印转换。 例如: 你想把多少英里换成公里?-1 不能输入负值! 输入正确的英里数:-1 不能输入负值! 输入正确的英里数:5 错误:不能