Странное поведение при добавлении целых чисел из скрипта Python

Этот скрипт Python добавляет суммы чисел, введенных в одной строке, разделенных пробелом, за исключением того, что он добавляется неправильно. Заранее спасибо.

Print "Enter Numbers:"
list=raw_input().split()
list=map(int,list)

for result in list:
   result+=result

print result

Например:

./sum_numbers
Enter Numbers:
1 1 1 1
22

./sum_numbers
Enter Numbers:
1 2 3 4 5 6
12

2 ответа

Решение

Попробуй это:

print "Enter Numbers:"
list=raw_input().split()
list=map(int,list)

result = 0

for number in list:
   result += number

print result

Результат:

python sum_num.py
Enter Numbers:
1 2 3 4 5 6
21
for result in list:
   result+=result

Интерпретация:

  • получить первый / следующий элемент в list в result
  • добавлять resultв result и хранить его в result
  • повторение; получить следующий элемент в list в result (примечание: это отбрасывает результат в предыдущей строке)
Другие вопросы по тегам