这是你自己的一周 · 第 8-14 天
第一周你把电脑的底子打好了,Python 也装好了,还写出了第一行代码。这一周咱们正式开始学编程——用 7 天,从零写出一个真正能玩的心算训练器,第 7 天我验收。
这周你会弄懂 6 件事:变量是什么、怎么让程序跟你对话、程序怎么做判断、怎么让程序重复干活、怎么把大程序拆成小块、怎么存一组数据。每天都能跑通一个小程序,一天比一天强。
每天 30-60 分钟,跑通就算完成,别贪多。卡住很正常,报错不是失败,是程序在告诉你它哪里没听懂。每跑通一个程序,发截图给我存档。
这周不配视频教程了——文字教程看懂例子,然后亲手把当天的小程序写出来,比看十遍视频都强。动手题全是原创的,网上没有现成答案,正是练真本事的地方。
print(age) 但 age 没定义 → 程序会报错 → 仔细看它长什么样。第一次见到报错别慌,记住它,以后就不怕了1name 吗?为什么?1name,会报 SyntaxError。除了数字开头,还有哪些名字不能用?想想:带空格的、和 if/for/print 同名的my_info.py(原创,自己写,别照抄例子):用 3 个变量存「我的名字 / 我的年龄 / 我学会了Python」,分别 print 出来input() 就是请它"等你说一句话",用 print() 就是让它"把话说出来"。人和程序就这样一问一答——这跟聊天软件收发消息是同一个道理。age = input("几岁?") 后写 age + 1 → 会报错 → 记住:input 拿进来的都是文字,要算数得先转成数字 int()age = input("几岁?") 之后写 age + 1 报错了——为什么?怎么改?(提示:input 拿回来的是文字,文字不能直接加数字;用 int() 转)再想:如果输入「abc」再转 int(),会发生什么?talk.py(原创,自己拼,别照抄例子):问对方名字和年龄,然后输出「你好,XX!你今年 XX 岁,明年就 XX 岁了」if age = 18: → 报错 → 记住:判断"相不相等"要用两个等号 ==,一个等号是"赋值"if age = 18: 会报错——为什么?(提示:= 是赋值,== 才是判断相等)除了这个,还有哪些容易写错?想想:少了个冒号会怎样?条件写反了会怎样?age.py(原创,别照抄例子):输入年龄 → 0-12 说"小朋友",13-17"青少年",18-59"成年人",60 以上"老人家"for i in range(5))运行range(1, 101) 是从几到几?(提示:1 到 100,最后那个不包含)fact.py(原创,教程没有现成例子):用 for 循环算 1×2×…×10(也就是 10 的阶乘),print 出结果(应该正好是 3628800);再写一个 while 版本对比def say_hi(): 下面不缩进会怎样?greet("小明") 就显示「你好,小明!」——倒推:这个函数是怎么定义的?(提示:def greet(名字): 里面 print 什么?)def fact(n):(传 10 进去算 10 的阶乘),再定义 def greet(name): 输出欢迎语,主程序调用它们第 1 题:37 + 58 = ? 95 答对了! 第 2 题:12 + 49 = ? 61 答对了! 第 3 题:76 + 23 = ? 90 答错了,正确答案是 99 ... 你答对了 3 题,共 5 题
列表[0] 拿第一个。这是"数据结构"的起点,也是以后做小游戏、小工具的基础。今天你还要学会让程序"抽一个随机数"——随机出题就靠它。列表[0] 取第一个import random; print(random.randint(1, 100))random.randint(1, 100) 报错 name 'random' is not defined——为什么?(提示:忘了一行 import random)还有哪些坑?想想:randint(100, 1) 顺序写反会怎样?输入「abc」再 int() 会怎样?判断写成 if ans = a + b(一个等号)会怎样?brain_v1.py(心算训练器,原创,网上没有现成代码):每一行都要能说出它在干嘛;卡住可以问我,但我只给提示不给答案这个程序怎么拆(自己先想,想不出再看提示):
random.randint 生成两个数(比如都是 1-99)今天完成标准:完整跑通 5 轮,能说出这四部分
前一天先做准备:把 brain_v1 升级成 v2——① 用一个列表记下每轮答对还是答错 ② 按答对数给评价(答对 4 题以上说「心算小能手」,2 题以上「还行」,否则「再练练」)。
大白话版:v2 = v1 基础上加两样东西——每答完一题,把这轮是「对」还是「错」记到一张纸上(列表);全部答完后,数一数对了几题,给出一句评价。还是 5 道加法题,只是结尾从「答对 X 题」变成「答对 X 题 + 一句评价」。
你已经能写出完整的程序了。两周前你的毕设连个好点的网页都算不上,今天你有了自己写的第一个完整小程序(心算训练器)——这不是运气,是你一天天亲手敲出来的。
下周咱们继续:把文字和列表玩得更熟,读读写写文件,再做一个小项目。路还长,但你已经站在路上了。