prinsky_robin 2023-06-22 16:18 采纳率: 50%
浏览 4
已结题

用Python实现Collat​​z序列的相关问题



```python
number = int(input('输入一个整数?\n'))
while number != 1:
    if number % 2 == 0:
        number = number // 2
    else:
        number = 3 * number + 1
    print(number)
    if number == 1:
        break


def collatz(number):
    if number % 2 == 0:
        number = number // 2
    else:
        number = 3 * number + 1
    return number
n = int(input('输入一个整数?\n'))
while n != 1:
    collatz(n)
    print(n)
    if n == 1:
        break

以上两个代码结果有什么不一样吗?
我只是有def写了一个函数 collatz就不执行了为啥啊?


还有人说return是这样写的但是其实和第二段代码结果一样并不计算collatz为啥呢
def collatz(number):
    if number % 2 == 0:
        return number // 2
    elif number % 2 == 1:
        return 3 * number + 1

n = int(input('输入一个整数?\n'))
while n != 1:
    collatz(n)
    print(n)
    if n == 1:
        break



  • 写回答

2条回答 默认 最新

  • P2441M 2023-06-22 16:56
    关注

    要写 n = collatz(n)啊,因为你这个函数是返回处理后的值,还要再赋值给 n

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 7月14日
  • 已采纳回答 7月6日
  • 创建了问题 6月22日

悬赏问题

  • ¥100 有偿寻云闪付SDK转URL技术
  • ¥30 基于信创PC发布的QT应用如何跨用户启动后输入中文
  • ¥20 非root手机,如何精准控制手机流量消耗的大小,如20M
  • ¥15 远程安装一下vasp
  • ¥15 自己做的代码上传图片时,报错
  • ¥15 Lingo线性规划模型怎么搭建
  • ¥15 关于#python#的问题,请各位专家解答!区间型正向化
  • ¥15 unity从3D升级到urp管线,打包ab包后,材质全部变紫色
  • ¥50 comsol温度场仿真无法模拟微米级激光光斑
  • ¥15 上传图片时提交的存储类型