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

Popular posts from this blog

java - How to set log4j.defaultInitOverride property to false in jboss server 6 -

c - GStreamer 1.0 1.4.5 RTSP Example Server sends 503 Service unavailable -

Using ajax with sonata admin list view pagination -