1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
def iter_pigeons(): i = 1 while True: yield sum(range(1, i + 1)) i += 1 def checkio(portions): pigeons = iter_pigeons() feeded = 0 while True: hungry = next(pigeons) if portions <= hungry: return portions if portions > feeded else feeded else: portions = portions - hungry feeded = hungry if __name__ == '__main__': #These "asserts" using only for self-checking and not necessary for auto-testing assert checkio(1) == 1, "1st example" assert checkio(2) == 1, "2nd example" assert checkio(5) == 3, "3rd example" assert checkio(10) == 6, "4th example" |
http:/…