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.br...@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 > >
-- https://mail.python.org/mailman/listinfo/python-list