Python Мне нужно написать цикл, который создает два отдельных промежуточных итога, и я не понимаю мою ошибку - PullRequest
0 голосов
/ 30 октября 2011

У меня проблема с домашней работой, которую я не могу понять, может кто-то помочь

- Создайте функцию с именем 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

он просто запускает цикл при первой итерации, я запутался, что делать, чтобы исправить это

1 Ответ

7 голосов
/ 30 октября 2011

Поскольку они являются отдельными циклами while, первый выполняется, а второй выполняется.Вы не хотите этого вообще.Вот схема того, что вы должны сделать:

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

То есть вы должны иметь if в течение некоторого времени, а не два в то время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...