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.