翻到这本被无数新手奉为入门宝典的《Python 编程从入门到精通》,我看着第 7 章的序列示例,差点当场愣住。书上的代码写得煞有介事:
# 创建F1赛车手积分列表,积分在前listcha3=['236 张三','358 李四','294 王五','216 赵六','227 周七']print(max(listcha3))
旁边还明明白白印着 “运行结果:张三 236”,甚至还有手写的批注,说 “按字典序首字符优先”。
我当时就皱起了眉,当着备课的面敲下了这几行代码,按下运行键 —— 控制台里明明白白跳出了'358 李四'。
不是 “张三 236”,不是 “赵六 216”,就是'358 李四'。
我盯着屏幕,又翻回书里那一页,发现连书上的手写笔记都乱了套:把 “赵六 216” 标成了最大值,把正确的'358 李四'打了个叉,完全搞混了max()函数对字符串的比较逻辑。
更离谱的是,前面那行print(max(listcha2[-3:-1])),注释写着 “在倒数第 3 个和倒数第 1 个列表中查找最大值”,可 Python 的切片[-3:-1]是左闭右开,根本取不到倒数第 1 个元素 —— 这连最基础的切片规则都写错了。
我当时就想,如果是个刚入门的学生,照着书敲完代码,结果和书上的 “标准答案” 对不上,他会怎么想?他大概率不会怀疑书错了,只会一遍遍地检查自己的代码,甚至怀疑是不是自己的 Python 装错了,是不是自己根本不是学编程的料。

如果你正在学习python,这些Python资料、数据分析、Python从入门到实践第三版pdf书籍、Python+Pycharm安装包&永久激活插件、直播课程,可以在这里免费领取哈👇