function that counts...

Jean-Michel Pichavant jeanmichel at sequans.com
Mon May 24 10:50:09 EDT 2010


Jerry Hill wrote:
> On Wed, May 19, 2010 at 3:58 PM, superpollo <utente at esempio.net> wrote:
>   
>> ... how many positive integers less than n have digits that sum up to m:
>>     
> ...
>   
>> any suggestion for pythonizin' it?
>>     
>
> This is how I would do it:
>
> def prttn(m, n):
>     """How many positive integers less than n have digits that sum up to m"""
>     total = 0
>     for testval in range(n):
>         sumofdigits = sum(int(char) for char in str(testval))
>         if sumofdigits == m:
>             total += 1
>     return total
>
> I added a docstring to the function, saying what it does, and what the
> arguments are supposed to represent.  I also moved the
> convert-to-string-and-sum-the-digits logic into a single generator
> expression that's passed to the builtin sum function.  Oh, and I tried
> to use slightly more expressive variable names.
>
>   
my favorite solutio nso far.

@ OP

What means prttn ? is it any Dutch word :D ? m & n are also very poors 
argument names.
I will be difficult to name properly the function, as it is doing 
something ... I don't find the word, something like un-intuitive. Sounds 
like homework.

def how_many_positive_integers_less_than_n_have_digits_that_sum_up_to_m(m, n)


:o)

JM

PS : read http://tottinge.blogsome.com/meaningfulnames/

<http://tottinge.blogsome.com/meaningfulnames/>



More information about the Python-list mailing list