0
点赞
收藏
分享

微信扫一扫

实践练习:Collatz序列(初学者的心得体会)

思考的鸿毛 2022-04-16 阅读 80
学习python

3.11.1 Collatz序列(书本第56页)

在做练习时,首先尝试自己编写代码试运行,出错了不要直接去网上搜寻答案,而是自己先尝试调试,这个过程虽然看起来“浪费时间”,但是一次锤炼自己的机会。

def collatz(number): #定义函数
    if number%2==0:
        return number//2
    else:
        return 3*number+1
print("Eter number:")
k=int(input())
#k=3#此处手动赋值,便于逐步调试
while True:
    if collatz(k)!=1:
        k=collatz(k)
        print(k)
    else:
        print(collatz(k))
        break

运行结果

Python 3.7.9 (bundled)
>>> %Run lianxi.py
Eter number:
3
10
5
16
8
4
2
1

在编写调试过程中,学习和巩固了很多知识:

1.return返回值

在上面的例子中,一般默认是写成 return number//2,自己在刚开始时写的是return (number//2)。在逐步调试后,发现带括号也可以。随后再上网搜寻后,两种都可以,带括号好处是可以很清晰的看返回的表达式,缺点是有些编译器会弹出警告。

2.学习看Thoony编辑器的提示信息

 在def定义函数或if语句结尾没添加“:”时,会提醒错误。

3.练习了Thoony编辑器的调试功能

在上述实例中,将获取用户输入换成赋值,然后用逐步调试功能,逐步观察程序的运行过程,在运行到调用函数这块儿,重新打开页面,一步步展示计算过程。

 4.主动思考、联系、总结,将琐碎的知识或经验链接起来,激励自己不断前行!’

举报

相关推荐

0 条评论