Python我需要编写一个循环,创建两个单独的运行总计,我不明白我的错误

use*_*349 0 python loops

我有一个我无法弄清楚的作业问题,有人可以提供帮助

- 创建一个名为sums的函数,它将提示用户输入整数值(正数或负数).该函数应保持正值和负值的单独运行总计.应允许用户继续输入值,直到他/她输入零停止.

这是我得到的,它不起作用

  number = int(raw_input("Enter and a positive or negative integer: "))
  def sums(number):
       while (number > 0):
            posnumber = int(raw_input("Enter another number or 0 to quit: "  ))
            number = number + posnumber
            print "The positive total is", number

       while (number < 0):
            negnumber = int(raw_input("Enter another number or 0 to quit: "  ))
            number = number + negnumber
            print "The negative total is", number
Run Code Online (Sandbox Code Playgroud)

它只是在第一次迭代下运行循环,我很困惑如何纠正它

Dan*_*Dan 7

因为它们在循环中是分开的 - 第一个被执行,然后第二个被执行.你根本不需要那个.这是你应该做的事情的布局:

take a number from input, store it as inputnum
while inputnum isn't 0
    determine whether inputnum is positive or negative
    add inputnum to the either posnumber or negnumber
    print the total
    get a new inputnum
Run Code Online (Sandbox Code Playgroud)

也就是说,你应该在一段时间内,而不是两个时间.