Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #74395 > unrolled thread

Re: codingbat question broken?

Started byDan Stromberg <drsalists@gmail.com>
First post2014-07-12 21:21 -0700
Last post2014-07-12 21:21 -0700
Articles 1 — 1 participant

Back to article view | Back to comp.lang.python

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: codingbat question broken? Dan Stromberg <drsalists@gmail.com> - 2014-07-12 21:21 -0700

#74395 — Re: codingbat question broken?

FromDan Stromberg <drsalists@gmail.com>
Date2014-07-12 21:21 -0700
SubjectRe: codingbat question broken?
Message-ID<mailman.11783.1405225308.18130.python-list@python.org>

[Multipart message — attachments visible in raw view] — view raw

This runs on 2.7 or 3.4, unmodified (other than the #!):

#!/usr/local/cpython-2.7/bin/python
#!/usr/local/cpython-3.4/bin/python

def lucky_sum(*list_):
    lucky_total = 0
    for element in list_:
        if element == 13:
            break
        lucky_total += element
    return lucky_total

if __name__ == '__main__':
    print('starting tests')
    assert lucky_sum(1, 2, 3) == 6
    assert lucky_sum(1, 2, 13) == 3
    assert lucky_sum(1, 13, 3) == 1
    print('ending tests')

On Sat, Jul 12, 2014 at 7:05 PM, Rodrick Brown <rodrick.brown@gmail.com>
wrote:

> I'm working on the following problem set from codingbat.com
>
> http://codingbat.com/prob/p107863
>
> Given 3 int values, a b c, return their sum. However, if one of the values
> is 13 then it does not count towards the sum and values to its right do not
> count. So for example, if b is 13, then both b and c do not count.
>
> lucky_sum(1, 2, 3) → 6
> lucky_sum(1, 2, 13) → 3
> lucky_sum(1, 13, 3) → 1
>
> The solution I came up with was -
>
> def lucky_sum(a, b, c):
>   t = 0
>   for ints in (a, b, c):
>     if a == 13:
>       t = b + c
>     elif b == 13:
>       t = a
>     elif c == 13:
>       t = a + b
>     else:
>       t = a + b + c
>   return t
>
> However the following tests fail
>
> lucky_sum(13, 2, 3) → 05X     lucky_sum(13, 2, 13) → 015X    lucky_sum(13,
> 13, 2) → 015X
>
> Can anyone show me an example where all test are success?
>
>
> --
> https://mail.python.org/mailman/listinfo/python-list
>
>

[toc] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web