python - Automate the boring tasks - exercise - collatz function -


beginner question here.

i have attempted exercise automate boring stuff. i've completed question in format suggested first defining function below:

"write function named collatz() has 1 parameter named number. if number even, collatz() should print number // 2 , return value. if number odd, collatz() should print , return 3 * number + 1."

and using same function, meeting minimal constraints, write programme meets following requirements:

then write program lets user type in integer , keeps calling collatz() on number until function returns value 1.

i've managed generate sequence of numbers ending one, following above rules, program prints each number in sequence 3 times. able explain why might be?

thanks help

def collatz(number):     if int(number) % 2 == 0:         print(int(number)//2)         return int(number)//2     else:         print(3 * int(number) + 1)         return 3 * int(number) + 1  collatz(5)     print('enter number')  entry = input()  while collatz(entry) != 1:     collatz(entry)     entry = collatz(entry) 

your loop should this:

entry = input() while entry != 1:     entry = collatz(entry) 

Comments

Popular posts from this blog

javascript - Create a stacked percentage column -

Optimising Firebase database by automatically overwriting data -

javascript - Angular UI-Grid customTemplate directive causing rows to load slowly/? -