Python 入门编程练习 100 题,是一门以「做题」为主线的课程。它不像常见的那种从头讲语法概念的课,而是直接把几十个基础知识点拆成一道一道的练习,让你在写代码的过程中暴露问题、修正问题。如果你已经看过一些 Python 教程,但一打开编辑器就不知道从哪下手,或者经常被报错卡住,这门课就是用来补上「动手」这一环的。

这门课解决什么问题

很多初学者最大的困境不是不理解概念,而是「看得懂,写不出」。变量、赋值、比较运算符、缩进规则,这些内容在书上都见过,但真到自己写的时候,往往会出现类型错误、名字未定义、缩进不对这类问题。这门课把这些问题做成了具体的练习,比如变量更新、变量命名规则、比较和赋值、类型错误、缩进错误、关键字错误、NameError 等等。每一个练习都对应一个真实的坑,让你在很短的时间内把容易出错的点全部踩一遍,再通过修正把它们记住。

它解决的不是「学不会 Python」的问题,而是「学了之后仍然写不对」的问题。适合那些已经知道 Python 大概长什么样,但还没有形成代码手感的人。

适合什么基础,建议先看哪几块

这门课对基础的要求不高。只要你有最基本的 Python 概念,知道什么是变量、什么是赋值,就能跟得上。如果你是完全零基础,连变量都没见过,那建议先补一点最基础的语法知识,再回来做这些题。否则你会把精力花在理解概念本身,而不是练习上。

资料包的开头有环境安装的内容,包括 Anaconda 和 PyCharm 的配置。这部分虽然只有几十分钟,但强烈建议先看完。因为后面所有练习都需要一个能运行代码的环境,环境装好了,练习才顺畅。看的时候不要只是播放,最好跟着装一遍,确认自己的电脑能正常跑起来。然后从第 2 章的基础题目开始,按顺序做。前几道题(变量更新、命名规则、比较和赋值)看起来简单,但正是它们决定了你对基础语法的熟练度。不要跳题,因为后面的题目会用到前面的结论。

学完能独立做什么,资料怎么配合练习

学完这 100 道题,你能独立完成一些非常基础但实用的 Python 脚本。比如:写一个根据条件判断并输出不同结果的程序;处理简单的变量赋值和数值运算;识别并修复常见的语法错误和运行时错误;按照规范命名变量,避免使用关键字。这些能力虽然不能让你直接开发一个完整的项目,但它们是你写任何 Python 代码的地基。当你以后去学文件处理、数据分析或者爬虫时,这些基本功会让你少走很多弯路。

关于资料怎么用,我的建议是:每道题先不要看答案,自己尝试写一遍。写不出来或者报错了,再看视频里老师的讲解,然后对照自己的代码找出问题。一定不要「看会」——看着视频里老师敲一遍,觉得自己懂了,就跳到下一题。这样等于没练。最好的做法是,每看完一道题的讲解,就关掉视频,自己重新独立写一遍,直到能不加思考地写出正确的代码。如果遇到反复出错的地方,可以在 PyCharm 里加断点,观察变量每一步

课程目录

课程目录103 集
  • 1-1 [课程介绍与环境] 课程介绍 (02:10).mp4
  • 1-2 [课程介绍与环境] Anaconda的安装 (03:18).mp4
  • 1-3 [课程介绍与环境] 002 pycharm的安装 (07:02).mp4
  • 2-1 [变量操作符格式等基础] 题目001-变量更新 (01:53).mp4
  • 2-2 [变量操作符格式等基础] 题目002-变量命名规则 (01:25).mp4
  • 2-3 [变量操作符格式等基础] 题目003-比较和赋值 (01:30).mp4
  • 2-4 [变量操作符格式等基础] 题目004-类型错误 (02:01).mp4
  • 2-5 [变量操作符格式等基础] 题目005-缩进错误 (02:37).mp4
  • 2-6 [变量操作符格式等基础] 题目006-不正确的结束 (01:52).mp4
  • 2-7 [变量操作符格式等基础] 题目007-关键字错误 (01:56).mp4
  • 2-8 [变量操作符格式等基础] 题目008-名字未定义NameError (02:02).mp4
  • 3-1 [序列索引和切片] 题目009-序列索引 (01:54).mp4
  • 3-2 [序列索引和切片] 题目010-序列切片 (02:31).mp4
  • 3-3 [序列索引和切片] 题目011-序列前位置切片 (01:27).mp4
  • 3-4 [序列索引和切片] 题目012-负数索引 (01:25).mp4
  • 3-5 [序列索引和切片] 题目013-负数切片 (01:34).mp4
  • 3-6 [序列索引和切片] 题目014-序列索引步长 (01:54).mp4
  • 4-1 [列表List] 题目015-Range函数 (01:44).mp4
  • 4-2 [列表List] 题目016-Range和推导式 (01:42).mp4
  • 4-3 [列表List] 题目017-Range字符串 (01:31).mp4
  • 4-4 [列表List] 题目018-移除重复元素 (03:27).mp4
  • 4-5 [列表List] 题目019-列表的排序 (01:35).mp4
  • 5-1 [字典Dict] 题目020-简单字典 (02:04).mp4
  • 5-2 [字典Dict] 题目021-访问字典元素 (01:20).mp4
  • 5-3 [字典Dict] 题目022-字典元素加和 (01:18).mp4
  • 5-4 [字典Dict] 题目023-字典KeyError (01:57).mp4
  • 5-5 [字典Dict] 题目024-添加字典key (01:31).mp4
  • 5-6 [字典Dict] 题目025-对字典使用函数 (02:18).mp4
  • 5-7 [字典Dict] 题目026-字典过滤 (02:17).mp4
  • 5-8 [字典Dict] 题目027-字典格式化输出 (01:59).mp4
  • 5-9 [字典Dict] 题目028-字典多层索引访问 (01:54).mp4
  • 5-10 [字典Dict] 题目029-遍历字典 (01:47).mp4
  • 6-1 [循环Loop] 题目030-打印字母a到z (01:53).mp4
  • 6-2 [循环Loop] 题目031-打印数字1到10 (01:19).mp4
  • 6-3 [循环Loop] 题目032-1到100数字的和 (02:10).mp4
  • 6-4 [循环Loop] 题目033-1到100偶数数字和 (02:35).mp4
  • 6-5 [循环Loop] 题目034-输出元素和下标 (02:08).mp4
  • 6-6 [循环Loop] 题目035-同时遍历多个序列 (02:58).mp4
  • 7-1 [函数Function] 题目036-编写加速度函数 (02:42).mp4
  • 7-2 [函数Function] 题目037-函数TypeError (01:51).mp4
  • 7-3 [函数Function] 题目038-方法不存在 (03:39).mp4
  • 7-4 [函数Function] 题目039-函数参数数目错误 (02:29).mp4
  • 7-5 [函数Function] 题目040-函数调用方式 (02:22).mp4
  • 7-6 [函数Function] 题目041-函数计算球的体积 (02:10).mp4
  • 7-7 [函数Function] 题目042-函数默认值参数 (02:19).mp4
  • 7-8 [函数Function] 题目043-全局变量 (01:28).mp4
  • 7-9 [函数Function] 题目044-函数局部变量 (01:45).mp4
  • 7-10 [函数Function] 题目045-局部变量和全局变量 (01:53).mp4
  • 8-1 [字符串String] 题目046-字符串与数字计算 (02:08).mp4
  • 8-2 [字符串String] 题目047-字符串格式化 (02:58).mp4
  • 8-3 [字符串String] 题目048-字符串拆分 (02:04).mp4
  • 8-4 [字符串String] 题目049-文件中的英文单词计数 (04:25).mp4
  • 8-5 [字符串String] 题目050-多分隔符单词计数 (04:37).mp4
  • 9-1 [循环与文件] 题目051-生成字母文件 (02:31).mp4
  • 9-2 [循环与文件] 题目052-成对字母文件 (03:16).mp4
  • 9-3 [循环与文件] 题目053-成对三字母文件 (02:52).mp4
  • 9-4 [循环与文件] 题目054-每个字母一个文件 (03:05).mp4
  • 9-5 [循环与文件] 题目055-扫描字母文件列表 (03:27).mp4
  • 9-6 [循环与文件] 题目056-满足条件的字母文件 (02:28).mp4
  • 10-1 [多级字典与JSON] 题目057-多级字典 (02:02).mp4
  • 10-2 [多级字典与JSON] 题目058-修改多级字典 (01:43).mp4
  • 10-3 [多级字典与JSON] 题目059-多级字典加值 (01:58).mp4
  • 10-4 [多级字典与JSON] 题目060-字典变JSON (03:27).mp4
  • 10-5 [多级字典与JSON] 题目061-JSON变字典 (01:40).mp4
  • 10-6 [多级字典与JSON] 题目062-JSON添加数据 (02:08).mp4
  • 11-1 [循环条件控制] 题目063-无限循环打印 (01:55).mp4
  • 11-2 [循环条件控制] 题目064-定时打印 (01:35).mp4
  • 11-3 [循环条件控制] 题目065 渐进式定时打印 (02:13).mp4
  • 11-4 [循环条件控制] 题目066-有结束条件的循环 (02:16).mp4
  • 11-5 [循环条件控制] 题目067-空语句 (02:00).mp4
  • 11-6 [循环条件控制] 题目068-忽略循环下一句 (02:17).mp4
  • 12-1 [英汉翻译字典] 题目069-英汉翻译 (01:59).mp4
  • 12-2 [英汉翻译字典] 题目070-英汉翻译异常处理 (02:51).mp4
  • 12-3 [英汉翻译字典] 题目071-英汉翻译文件词典 (03:33).mp4
  • 13-1 [日期时间] 题目072-当前日期时间 (03:40).mp4
  • 13-2 [日期时间] 题目073-输入年龄计算生日 (01:46).mp4
  • 13-3 [日期时间] 题目074-计算活了多少天 (02:33).mp4
  • 13-4 [日期时间] 题目075-计算今天明天昨天的日期 (02:59).mp4
  • 13-5 [日期时间] 题目076-输出间隔内的所有日期 (02:17).mp4
  • 14-1 [用户名和密码检测] 题目077-用户名检测器 (03:26).mp4
  • 14-2 [用户名和密码检测] 题目078-随机密码生成器 (02:09).mp4
  • 14-3 [用户名和密码检测] 题目079-密码强度检测器 (03:32).mp4
  • 14-4 [用户名和密码检测] 题目080-详细错误密码检测器 (04:16).mp4
  • 15-1 [文件处理统计] 题目081-文件内容乘数字 (04:01).mp4
  • 15-2 [文件处理统计] 题目082-计算最大值最小值平均值 (04:24).mp4
  • 15-3 [文件处理统计] 题目083-文件合并 (02:39).mp4
  • 15-4 [文件处理统计] 题目084-文件交集 (02:37).mp4
  • 15-5 [文件处理统计] 题目085-每种爱好的喜欢人数 (06:26).mp4
  • 15-6 [文件处理统计] 题目086-实现文件的关联 (04:28).mp4
  • 16-1 [正则表达式] 题目087-判断日期格式 (03:30).mp4
  • 16-2 [正则表达式] 题目088-提取电话号码 (02:36).mp4
  • 16-3 [正则表达式] 题目089-提取邮箱地址 (05:06).mp4
  • 16-4 [正则表达式] 题目090-多个禁用词替换 (02:59).mp4
  • 16-5 [正则表达式] 题目091-给手机号打上马赛克 (03:06).mp4
  • 17-1 [文件管理] 题目092-扫描目录下所有文件 (04:31).mp4
  • 17-2 [文件管理] 题目093-扫描py文件的行数 (02:06).mp4
  • 17-3 [文件管理] 题目094-自动整理文件夹 (07:03).mp4
  • 17-4 [文件管理] 题目095-自动压缩文件夹 (05:53).mp4
  • 18-1 [爬虫Requests] 题目096-Requests模块报错 (02:57).mp4
  • 18-2 [爬虫Requests] 题目097-来自URL的文件 (01:37).mp4
  • 18-3 [爬虫Requests] 题目098-下载URL的图片 (01:56).mp4
  • 18-4 [爬虫Requests] 题目099-给网页提交数据 (05:59).mp4
  • 18-5 [爬虫Requests] 题目100-打开百度搜索 (03:18).mp4