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

小白请教各位,这个代码为什么每个print了2次?

小白请教各位,这个代码为什么每个print了2次?

慕森王 2019-02-20 09:15:36
以下是代码 def collatz(number): if number%2==0: number=number//2 print(str(number)) return number else: number=number*3+1 print(str(number)) return number print('enter your number') number=int(input()) while number!=1: collatz(number) number=collatz(number) 这是结果enter your number516168844221
查看完整描述

4 回答

?
心有法竹

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

改成:

while number != 1:
    number=collatz(number)
查看完整回答
反对 回复 2019-03-01
?
沧海一幻觉

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

把这句注释掉 collatz(number)

查看完整回答
反对 回复 2019-03-01
?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

因为调用了两次函数 collatz, 而 number数值类型, 函数中的修改不会影响到函数外部。

查看完整回答
反对 回复 2019-03-01
?
ITMISS

TA贡献1871条经验 获得超8个赞

函数调用了两次

查看完整回答
反对 回复 2019-03-01
  • 4 回答
  • 0 关注
  • 571 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信