V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
NanFengXiangWan
V2EX  ›  Python

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

  •  
  •   NanFengXiangWan · 2021-12-24 19:01:49 +08:00 · 2305 次点击
    这是一个创建于 826 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    pcbl
        1
    pcbl  
       2021-12-24 19:47:45 +08:00
    这是什么书上的,那个图上的输出第一列右对齐,其他列左对齐
    NanFengXiangWan
        2
    NanFengXiangWan  
    OP
       2021-12-24 20:07:15 +08:00
    @pcbl Python 编程快速上手(第 2 版)
    YogiLiu
        3
    YogiLiu  
       2021-12-24 20:34:52 +08:00 via Android
    个人观点是,不用纠结各种用法和学习各种骚操作,学会基础语法之后就可以开始尝试造一些实际的轮子了(包括但不限于写个小博客系统),先把成就感和满足感培养起来,在项目中慢慢学习用法,不用担心自己的代码写得烂,只需要写得简单,写得易懂,写一句代码查 5 分钟文档都没关系,尝试用自己的代码去输出自己的思想,不要在初学阶段看太多别人写的代码,试问自己对代码的理解还没到位,如何去理解他人的思想呢?遇到不懂的难题就查别人的实践(主要是实现思路),多看些,看不懂的就不要去纠结了,挑你看得懂的学。
    vanton
        4
    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
        5
    learningman  
       2021-12-24 20:53:34 +08:00
    这玩意儿完全可以一个 \t 解决,别纠结这个
    ysc3839
        6
    ysc3839  
       2021-12-24 20:58:39 +08:00 via Android
    个人建议需求推动学习,先看看自己或者身边的人有什么需要用电脑完成的需求,然后定下目标,朝着这个目标去学习。一定是要自己喜欢、有用的需求,网上那种 XX 管理系统基本上会越写越无聊的,因为对自己没用。
    shiji
        7
    shiji  
       2021-12-25 01:59:47 +08:00 via iPhone
    首先是抛开语言的解题思路 - 找每一列最大宽度
    然后是使用任何主流语言都可以的操作 - 补上最大宽度减去字符串长度数量的空格
    然后是使用当前语言特性的优化 - 缩写循环 /rjust 等等
    arischow
        8
    arischow  
       2021-12-25 03:55:32 +08:00 via iPhone
    你要问我的话,我会告诉你上 GitHub 找点实际小问题做比较有趣。
    cabbage
        9
    cabbage  
       2021-12-25 04:42:59 +08:00 via iPad
    我自己看书刚学那会也是这样怀疑人生,还是不要太急慢慢来,不论是做题还是小项目,见的多了以后自然会提升的。

    如果是一时半会找不到思路,私以为一方面可以有意识地把大问题分解成多个串联的小问题,各个击破,这个不论什么语言都是一样的;
    另一方面,具体到某个语言上讲,还是要尽量熟悉语言内的各种常用做法惯用特性,这个还是挺重要的,会用的特性多了,对分解问题也有帮助,分解出来的小问题可以尽可能往常用做法上靠。当然,用的多了自然会熟悉,说到底只是一个经验问题。
    noparking188
        10
    noparking188  
       2021-12-25 11:39:22 +08:00
    建议 Stackoverflow + GitHub
    NanFengXiangWan
        11
    NanFengXiangWan  
    OP
       2021-12-25 22:38:19 +08:00
    @YogiLiu 好!思路清晰了好多 谢谢哈
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2901 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 13:58 · PVG 21:58 · LAX 06:58 · JFK 09:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.