python 3.x - using while loop to count how many doublings happen between two numbers -
python 3.x - using while loop to count how many doublings happen between two numbers -
my task write function uses while loop count how many days(how many doublings) takes population go given initial size value greater or equal given final size.
in addition, reply should 0 if final populations less or equal initial population.
my approach:
def num_doublings(initial_population, final_population): days = 0 if final_population <= initial_population: homecoming 0 else: while initial_population < final_population: initial_population * 2 days = days + 1 homecoming days testing:
ans = num_doublings(1, 8) print(ans) when press enter, tells me "executing command. please wait results." , don't think it'll ever homecoming discontinue code running.
so doing wrong?
you calling initial_population * 2, not modify in-place variable. instead try:
initial_population *= 2 which equivalent to:
initial_population = initial_population*2 final code:
def num_doublings(initial_population, final_population): days = 0 if final_population <= initial_population: homecoming 0 else: while initial_population < final_population: initial_population *= 2 #right here days += 1 #also changed more concise homecoming days why issue:
you testing if x < y, , if x indeed less y, , not modify either x or y, while loop run indefinitely.
python-3.x while-loop condition
Comments
Post a Comment