又有好几天因为其实事情没有好好在学习编程,不过今天终于又捡起来啦~
因为前几天已经趁空余时间学习完了各种神奇的数据结构和字符等等,终于准备开始实战了,所以找到了一个巨好用的python练习网站 codefights.com,开始了自己的练习之旅。
真正到了实战的环节,才发现自己在学习过程中,还是有很多的不足,总是反复犯一些错误:
比如:
1. 需要注意输入的和返还的数据类型分别是什么
2. 注意(),[] 的使用,在不同场合需要不同的内容,看清楚自己想要创建什么
3. 注意方法和功能不一样,所以用法不一样
4. if或者while 循环,总是弄不清楚停止的条件和继续的条件
5. 看到别的大神用的神算法,不禁表示佩服佩服!
我还需要加强之处
1. 对于 list comprehension 的方法还需要训练,以免代码太冗长
2. 对于List slice的方法掌握得不够好,还需要各种熟练,比如通过 if list[i] == "("这样的方式来获取括号的位置的值
附上做了很久,很久,大概从下午4点做到晚上9点(除去吃完饭15分钟),在就快放弃的时候,终于成功有望的案例!结果看了大神的,自己感觉呵呵哒~
经验:
如果觉得不会,那就先处理简化版本的题目,按照最最最简单的模式去写程序的基础版,并且务必要画流程图!!这个很重要,或者写出来也可以,这样可以帮助自己理清思路,写程序更加方便快捷。
以下这个程序就是一开始非常辛苦得只能把 ab(dc)e 改成 abcde
一点一点改善,直到能运行 The ((quick (brown) (fox) jumps over the lazy) dog) 改成 The god quick nworb xof jumps over the lazy
PS:越到后面的阶段,越需要精确的数据和符号,而不能再是一个泛泛的符号了,比如一开始我用了\(+表示遇到左括号的时候,可是到后来发现,必须得用\({1}才能精准表达我的意图,才能让计算机正确执行程序。
大神的:
我的: