Как добавить пять чисел из пользовательского ввода в Python? - PullRequest
1 голос
/ 20 февраля 2010

В качестве упражнения я пытаюсь получить от пользователя пять чисел и вернуть сумму всех пяти чисел, используя цикл while.Мне удалось собрать пять чисел, но сумма не указана моим кодом (я получаю число, но оно всегда вдвое больше последнего числа).Я считаю, что проблема заключается в моем использовании + =.

x = 0   
while x < 5:
    x += 1
    s = (int(raw_input("Enter a number: ")))
    s += s
print s

Ответы [ 5 ]

11 голосов
/ 20 февраля 2010

Gruszczy уже решил вашу главную проблему, но вот несколько советов, касающихся вашего кода.

Во-первых, сделать цикл for проще, чем отслеживать итерации в while:

s = 0
for i in range(5):
  s += int(raw_input('Enter a number: '))

Во-вторых, вы можете упростить его, используя встроенную функцию sum:

s = sum(int(raw_input('Enter a number: ')) for i in range(5))

В-третьих, оба вышеперечисленных сбоя, если пользователь введет неверный ввод. Вы должны добавить try блок, чтобы позаботиться об этом:

s = 0
for i in range(5):
  try:
      s += int(raw_input('Enter a number: '))
  except ValueError:
      print 'Invalid input. Counting as a zero.'

Или, если вы хотите ввести 5 действительных чисел:

round = 0
s = 0
while round < 5:
  try:
      s += int(raw_input('Enter a number: '))
  except ValueError:
      print 'Invalid input.'
  else:
      round += 1
8 голосов
/ 20 февраля 2010

Это должно быть лучше.

x = 0
s = 0   
while x < 5:
    x += 1
    s += (int(raw_input("Enter a number: ")))
print s

Вы ставили один из результатов на сумму всех результатов и потеряли предыдущие.

0 голосов
/ 20 августа 2017

Вы могли бы сделать это также

print ("enter input number : ")

input1 = int(raw_input())

sum1 = 0

for y in range(0,input1+1):
       sum1 = sum1 + y
print ("the sum is " + str(sum1))
0 голосов
/ 29 ноября 2013
x = 0
s = 0   
    while x < 5:
        x += 1
        s += (int(raw_input("Enter a number: ")))
print s
0 голосов
/ 16 июля 2013

Добавление str или int с помощью user_input и последующая печать результата - Добавление 2 или более сообщений от пользователей, введенных

пример из ссылки abv

'''Two numeric inputs, explicit sum'''

x = int(input("Enter an integer: "))
y = int(input("Enter another integer: "))
sum = x+y
sentence = 'The sum of {} and {} is {}.'.format(x, y, sum)
print(sentence)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...