Making a collatz program automate the boring stuff

前端 未结 25 2318
一整个雨季
一整个雨季 2020-12-08 11:14

I\'m trying to write a Collatz program using the guidelines from a project found at the end of chapter 3 of Automate the Boring Stuff with Python. I\'m using python 3.

25条回答
  •  悲&欢浪女
    2020-12-08 11:29

    Here's my 19 lines:

    def collatz(number):
        if number % 2 == 0:
            return number // 2
        else:
            return number*3 + 1
    
    
    number = 0
    while number == 0:
        try:
            number = int(input('Please enter a number: '))
            if number == 0:
                print('Number must be an integer not equal to zero.')
            else:
                while True:
                    number = collatz(number)
                    print(number)
                    if abs(number) == 1 or number == -5 or number == -17: 
                        break #Collatz seq ends/enters recurring loop when number hits -17, -5, -1 or 1
        except ValueError:
            print('Number must be an integer.')
    

提交回复
热议问题