Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 8, 2015 11:02:40

de_z
Зарегистрирован: 2015-05-20
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Почему на выходе программа не учитывает один разряд?

def digit_sum(z):
    list = []
    for i in str(z):
        list.append(i)
    print (list)
    for i in list:
        i = int(i)
        i += i
    print (i)
digit_sum(1234)

На выходе должно быть 10. Но возвращает 8. В чем причина?

Отредактировано de_z (Июнь 8, 2015 11:02:58)

Офлайн

#2 Июнь 8, 2015 11:13:28

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Почему на выходе программа не учитывает один разряд?

>>> def dsum(n):
...     return sum(map(int, str(n)))
... 
>>> dsum(1234)
10
>>>



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version