Python-仅打印最大数量的collatz

Python-仅打印最大数量的collatz,python,Python,我已经得到了这个代码,但我只想打印最大的数字来代替collatz序列的整个队列。 我怎么能这么做 只要有一个max变量,如果n大于该变量的值,则用n更新该变量: def collatz(number): if number % 2 == 0: print(number // 2) return number // 2 elif number % 2 == 1: result = 3 * number + 1 prin

我已经得到了这个代码,但我只想打印最大的数字来代替collatz序列的整个队列。
我怎么能这么做

只要有一个max变量,如果
n
大于该变量的值,则用
n
更新该变量:

def collatz(number):
    if number % 2 == 0:
        print(number // 2)
        return number // 2
    elif number % 2 == 1:
        result = 3 * number + 1
        print(result)
        return result

#4. zolang n ongelijk is aan 0, niet stoppen.
n = input("invoer: ")
while n != 1:
    n = collatz(int(n))

通过输入
5
给出
16
,因为
16
[5,16,8,4,2,1]
的最大值,如果
n
大于该变量的值,则只需使用
n
更新max变量即可:

def collatz(number):
    if number % 2 == 0:
        print(number // 2)
        return number // 2
    elif number % 2 == 1:
        result = 3 * number + 1
        print(result)
        return result

#4. zolang n ongelijk is aan 0, niet stoppen.
n = input("invoer: ")
while n != 1:
    n = collatz(int(n))

通过输入
5
可以得到
16
,因为
16
[5,16,8,4,2,1]
的最大值,因此可以重构代码,以打印Collatz序列中的最大值,如下所示:

def collatz(number):
    if number % 2 == 0:
        return number // 2
    elif number % 2 == 1:
        return 3 * number + 1

n = input('invoer: ')
m = 0
while n != 1:
    if n > m: m = n
    n = collatz(int(n))

print('the max was:', m)
def collatz(编号):
如果数字%2==0:
返回编号//2
其他:
返回(3*编号)+1
#重构此部分,因为Collatz猜想是为正
#仅限数字
尝试:
n=int(输入('发票人:'))

如果n可以对代码进行重构,以打印Collatz序列中的最大数量,如下所示:

def collatz(number):
    if number % 2 == 0:
        return number // 2
    elif number % 2 == 1:
        return 3 * number + 1

n = input('invoer: ')
m = 0
while n != 1:
    if n > m: m = n
    n = collatz(int(n))

print('the max was:', m)
def collatz(编号):
如果数字%2==0:
返回编号//2
其他:
返回(3*编号)+1
#重构此部分,因为Collatz猜想是为正
#仅限数字
尝试:
n=int(输入('发票人:'))
如果n