On 9 December 2013 08:08, Rafael Knuth <rafael.kn...@gmail.com> wrote:
> Hej there,
>
> I wrote a program that converts an integer into a digit sum:
>
> def DigitSum(YourNumber):
>     DigitList = []
>     YourNumber = str(YourNumber)
>     for i in YourNumber:
>         DigitList.append(int(i))
>     print(sum(DigitList))
>
> DigitSum(55)
>
>>>>
> 10
>
> It actually works but I was wondering if that's the only way to solve
> the task of converting an integer into a digit sum?  I learned from
> past conversations on this mailing list that often times there is a
> better, more elegant and shorter way to write a program, and I was
> wondering if that's the case here.

I don't know if everyone would consider this more elegant but it's
certainly shorter:

>>> def DigitSum(YourNumber):
...     return sum(map(int, YourNumber))
...
>>> DigitSum('55')
10


Oscar
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to