Start free

Beginner · While loops · 86 of 264

Collatz steps

Start with n. If it is even, halve it; if it is odd, make it 3n + 1. Count the steps until n becomes 1.

Input: a positive whole number n. Output: the number of steps.

Examples

Input
6
Output
8
Input
1
Output
0
Input
27
Output
111

One more test checks other inputs when you press Check.

Stuck? The idea behind while loops

A while loop repeats as long as its condition is true: use it when you don't know in advance how many times.

Something inside the loop must change, so the condition becomes false in the end.

n = int(input())
digits = 0
while n > 0:
    n //= 10
    digits += 1
print(digits)

Watch for: If nothing in the loop changes the condition, it never ends and the program is stopped after a few seconds.

All the while loops exercises
Your code
Opening the code editor…
Python 3.14 in your browser
Output
Run shows what your program prints. Check tests it on every example and the hidden tests.

More while loops exercises