为了账号安全,请及时绑定邮箱和手机立即绑定

Python中有关return和print的一个问题

Python中有关return和print的一个问题

犯罪嫌疑人X 2018-07-16 12:07:34
n = int(input('please input:')) # 分解质因数l = []def f(n):    for i in range(2, n+1):        a, b = divmod(n, i)        if not b:            l.append(i)            n = a            if a == 1:                return print(l)  # 为什么不能是l,而要是print(l)            else:                f(n)                breakf(n)改成return l,后面再写成print(f(n))却不行,这是为什么?
查看完整描述

2 回答

?
回首忆惘然

TA贡献1847条经验 获得超11个赞

代码进入你的else分支后会返回None,你输入4的时候就会进else吧 还有你这个写法是想用递归吧,但写的不对,else中的f(n) break改为return f(n)就对了

查看完整回答
反对 回复 2018-07-18
?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

我这边没遇到楼主说的情况


https://img1.sycdn.imooc.com//5b4eaf880001305e12840716.jpg

查看完整回答
反对 回复 2018-07-18
  • 2 回答
  • 0 关注
  • 471 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号