Collatz Sequence

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/usr/bin/env python3

def get_next_number(number):
    """
    Calculate the next number in a collatz sequence
    """
    if number % 2 == 0:
        return number // 2
    else:
        return (number * 3) + 1


def run_collatz_sequence(number):
    """
    Run a Collatz sequence
    """
    numbers = []
    while number != 1:
        numbers.append(number)
        number = get_next_number(number)
    numbers.append(1)
    return numbers


def main():
    """
    Run the program
    """
    start = input('Please enter a starting number: ')
    start = int(start)
    sequence = run_collatz_sequence(start)
    print('Your Collatz sequence is:', sequence)
    

if __name__ == '__main__':
    main()