找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: 苍雪明南

[代码与实例] Collatz序列

1

主题

15

帖子

15

积分

贫民

积分
15
苍雪明南  楼主| 发表于 2016-12-9 17:24:31 | 显示全部楼层
blueelwang 发表于 2016-12-8 22:22
这样就可以啦,感觉你还是对递归不明白
其实那个return在每一个if分支里面都要有, 递归的过程你自己要 ...

多谢!我会好好琢磨下的{:8_215:}
回复 支持 反对

使用道具 举报

0

主题

1

帖子

1

积分

贫民

积分
1
JeffMing 发表于 2016-12-15 23:18:42 | 显示全部楼层
初学python还望大神指导,根据上面的程序改了一下:
# coding:utf-8
def collatz(number):
    if number == 1:
        return number
    elif number%2 == 0:
        number = number//2
        print number
        return collatz(number)
    else:
        number = number*3 + 1
        print number
        return collatz(number)
print(u'请输入您想输入的数字:')
while True:
    data = raw_input()
    isdigit = str(data).isdigit() and int(data) > 0
    if isdigit:
        number = collatz(int(data))
        if number == 1:
            break
    else:
        print(u"您必须输入整数!\n")
        print(u'请输入您想输入的数字:')


回复 支持 反对

使用道具 举报

1

主题

15

帖子

15

积分

贫民

积分
15
苍雪明南  楼主| 发表于 2016-12-21 16:56:45 | 显示全部楼层
JeffMing 发表于 2016-12-15 23:18
初学python还望大神指导,根据上面的程序改了一下:
# coding:utf-8
def collatz(number):

厉害厉害,一起加油{:8_203:}
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表