Calculating a sequence of numbers using the while loop in Python -
i'm trying return sequence of numbers using while loop, starting input value num , ending 1. example:
>>> tray(8) [8, 2, 1] if number even, i'd replace num integer value of num**0.5, , if it's odd should replace num integer value of num**1.5.
def tray(num): '''returns sequence of numbers including starting value of num , ending value of 1, replacing num integer value of num**0.5 if , num**1.5 if odd''' while num != 1: if num %2 == 0: num**=0.5 else: num**=1.5 return num i'm sort of lost on how make sure replacements integers - if try int(num**0.5) comes "invalid syntax." additionally, it's returning answer of num**0.5 , can't figure out how return starting value num along sequence 1. input.
these adjustments fix errors in code
def tray(num): '''returns sequence of numbers including starting value of num , ending value of 1, replacing num integer value of num**0.5 if , num**1.5 if odd''' seq = [ num ] while num != 1: if num %2 == 0: num = int(num**0.5) else: num = int(num**1.5) seq.append( num ) return seq here rewritten generator.
def tray(num): '''returns sequence of numbers including starting value of num , ending value of 1, replacing num integer value of num**0.5 if , num**1.5 if odd''' yield num while num != 1: if num %2 == 0: num = int(num**0.5) else: num = int(num**1.5) yield num which can used create list this.
list( tray(8) )
Comments
Post a Comment