Странное поведение при добавлении целых чисел из скрипта 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
(примечание: это отбрасывает результат в предыдущей строке)