Can't advance because Python tests keep timing out

Trying to complete the Collatz code, and this code returns the number of steps to reach 1. What am I doing wrong?

def even_rule(number):
    return number / 2


def odd_rule(number):
    return number * 3 + 1


def steps(number):
    if number < 0:
        raise ValueError("Only positive integers are allowed")
    count = 0
    while number != 1:
        if number % 2 == 0:
            number = even_rule(number)
        else:
            number = odd_rule(number)
        count += 1
    return count

Can you think of an edge case number that would cause your code to get into an infinite loop? One of the tests is doing just that :slight_smile:

2 Likes