关于学习 Python 时书中的一个例题

2021-12-24 19:01:49 +08:00
 NanFengXiangWan

学习 Python 也有一段时间了,看了几本书也做了一些书上的例题,很奇怪自己做了好多例题也照着敲了很多代码,也独立去完成过一些课后小作业小项目,事后也会去理解代码的含义,但编程水平却不见提升,如今天遇到的一道题就一头雾水真的对自己的能力感到怀疑 ,不知自己该往哪方面去提升。

2474 次点击
所在节点    Python
11 条回复
pcbl
2021-12-24 19:47:45 +08:00
这是什么书上的,那个图上的输出第一列右对齐,其他列左对齐
NanFengXiangWan
2021-12-24 20:07:15 +08:00
@pcbl Python 编程快速上手(第 2 版)
YogiLiu
2021-12-24 20:34:52 +08:00
个人观点是,不用纠结各种用法和学习各种骚操作,学会基础语法之后就可以开始尝试造一些实际的轮子了(包括但不限于写个小博客系统),先把成就感和满足感培养起来,在项目中慢慢学习用法,不用担心自己的代码写得烂,只需要写得简单,写得易懂,写一句代码查 5 分钟文档都没关系,尝试用自己的代码去输出自己的思想,不要在初学阶段看太多别人写的代码,试问自己对代码的理解还没到位,如何去理解他人的思想呢?遇到不懂的难题就查别人的实践(主要是实现思路),多看些,看不懂的就不要去纠结了,挑你看得懂的学。
vanton
2021-12-24 20:40:01 +08:00
求每列最长
colWidth = [len(x) for x in (max(y, key=len) for y in data)]

然后转置 list ,不转置也行,多写几行而已

然后每个字符串 rjust 对齐就行
learningman
2021-12-24 20:53:34 +08:00
这玩意儿完全可以一个 \t 解决,别纠结这个
ysc3839
2021-12-24 20:58:39 +08:00
个人建议需求推动学习,先看看自己或者身边的人有什么需要用电脑完成的需求,然后定下目标,朝着这个目标去学习。一定是要自己喜欢、有用的需求,网上那种 XX 管理系统基本上会越写越无聊的,因为对自己没用。
shiji
2021-12-25 01:59:47 +08:00
首先是抛开语言的解题思路 - 找每一列最大宽度
然后是使用任何主流语言都可以的操作 - 补上最大宽度减去字符串长度数量的空格
然后是使用当前语言特性的优化 - 缩写循环 /rjust 等等
arischow
2021-12-25 03:55:32 +08:00
你要问我的话,我会告诉你上 GitHub 找点实际小问题做比较有趣。
cabbage
2021-12-25 04:42:59 +08:00
我自己看书刚学那会也是这样怀疑人生,还是不要太急慢慢来,不论是做题还是小项目,见的多了以后自然会提升的。

如果是一时半会找不到思路,私以为一方面可以有意识地把大问题分解成多个串联的小问题,各个击破,这个不论什么语言都是一样的;
另一方面,具体到某个语言上讲,还是要尽量熟悉语言内的各种常用做法惯用特性,这个还是挺重要的,会用的特性多了,对分解问题也有帮助,分解出来的小问题可以尽可能往常用做法上靠。当然,用的多了自然会熟悉,说到底只是一个经验问题。
noparking188
2021-12-25 11:39:22 +08:00
建议 Stackoverflow + GitHub
NanFengXiangWan
2021-12-25 22:38:19 +08:00
@YogiLiu 好!思路清晰了好多 谢谢哈

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/824303

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX