变量与运算
过来人(经过自学会Python),我不想说Python很简单(大家都来吧),也不想说编程很难(放弃吧!普通人)我想可以从3个看起来是本能的事说起,吃饭,走路,说中文 ; (够本能吧)
but仔细回想一下,这三个能力也不是天生的(反而还很难学哦~)。
我们就拿世界上最难学的语言 中文 来举例吧,一个小baby从牙牙学语到第一次准确的叫"妈妈”,这个过程是怎样呢?
a- -> a^a^ -> da -> da~da~ -> j~j~ -> ba~ba~ -> ma~ma~
我们发现一个baby学任何东西的秘诀:就是把一件简单的事重复的做(做几百上千次)
那么在Python学习中,这个简单重复的动作是什么呢?(请允许我总结)

我解释一下,我刚开始也是从语法开始看的,也是跟着老师去把老师的代码敲一遍的(这很重要),但逐渐的我发现有一个东西比这些还重要,那就是 编程思路。
让我举一个栗子:假设我们现在要写一个北京地铁1号线的问路机器人(没错,就是刚开始的地铁线路图),有人来问路,它能告诉人怎么坐车(往哪个方向,坐几站)?
假设你已经知道了 变量 运算 赋值 if 循环 列表 文件 异常 debug 字符串 函数 模块 等等一切的Python语法。面对这个问题有没有 编程思路?就我个人而言,刚开始很难马上有。
所以,我要在这个 简单重复 的教学里重点加上 编程思路。经过100-200百次的思路讲解和训练,是任何人都可以完全掌握这项技能的。

变量和运算总要在一起才有意义
先看数字类的
a = 100 #定义一个数字a,值为100b = a + a #定义一个数字b,值为a+a, 即200pi = 3.14 #定义一个数字pi,值为3.14(浮点数)c = 9 * 9 #定义一个数字c,值为9乘以9, 值为81年龄 = 20 #定义一个数字 年龄,值为20print(c) #打印数字c(屏幕打印)print(1+2*3) #打印1+2*3的结果(将打印7)再看文本类的(字符串)
s = 'hello world' #定义一个字符串s,值为 hello worlds1 = "hello world" #定义一个字符串s1(双引号),值为 hello worlds2 = '中国人' #定义一个字符串s2,值为 中国人print(s) #打印字符串s (屏幕打印)l = len(s) #定义一个数字l,用len计算s的长度(有几个字符),l的值为11名字 = "金哥" #定义一个字符串 名字,值为 金哥信息量有点大,好在每一句单独看都不算难。
a = 100 #定义一个数字a,值为100a = 100 #定义一个数字a,让它等于100a = 100a = 100简单重复 动作定义xxx 的代码,都需要取一个变量的名字,名字可以是字母 a b 字母加数字 s1 s2 中文 年龄 名字 变量必须有一个值, 不写也有默认值a = 100= 来进行变量的赋值,其实就是把右边的 变量 100 赋值 给变量 ab = a变量 b, 它的值是多少?(为a,也就是100)
'hello world' 和定义数字的方法是类似的s = 'hello world'1 2 和 浮点型 3.14'' "" 都是字符串
试一下 在线Python
' 和 " 要用英文,不能用中文引号'123' 和 数字 123 是两个类型的(特性不同,后面会细说)在Python代码里,出现的所有东西不是 变量 就是 运算符变量 还是 运算a = 100 b = a + a pi = 3.14c = 9 * 9年龄 = 20 print(c)print(1+2*3)s = 'hello world's1 = "hello world"s2 = '中国人'print(s)l = len(s)名字 = "金哥"a 100 b pi 3.14 c 9 年龄 20 1 2 3 s hello world s1 s2 中国人 l 名字 金哥= + * print len变量变量 运算完的结果还是 变量
a = 100 b = a + a a = 100 a + a+ - * / (加 减 乘 除) 可以做数字的运算1+2*3+ 可以用于字符串相加'abc‘ + ’def' 结果是 'abcdef'* 可以用于字符串乘以数字'abc' * 3 结果是 'abcabcabc'
print 运算(当然,print这种学名是 函数,这个后面细讲)print(变量) 意思就是把变量 打印到 屏幕print(c)print(1+2*3)print(s)print(print)print打印print
len ; 作用:计算字符串长度(还能算其他变量的长度后面细讲)print(len("abc"))
一定要把上面的20个左右的 问题 通过在线练习 完成 20个 简单重复 的训练
这是一种最基础招式的练习
* 然后再进行第一个综合问题的解决。
试一下 在线Python

问题:我们简化一下1号线地铁问题,假设只为 王府井(8号站)写一个Python程序,再假设问路人都是往 西单方向的(右边),思考下怎么写?(复杂一点的现有知识还做不了,后面会再细讲)
思路:
变量 + 运算, Python编程思路的第一步,把我们这个问题的解决方案看做一个新的运算”王府井右行乘客问路回答算法“ ”王府井右行乘客问路回答算法“ 进行分解,分解到 数字 字符串 + - * / 基础运算”王府井右行乘客问路回答算法“ 得输入变量是什么? 输出变量是什么?一般思路都是这么开始!
现在我们把所有的变量,确定到类型,并尝试思考 输入如何计算成输出

现在可以把所有的变量和运算化成代码实现了
起始站 = '王府井'起始站号 = 8到达站 = '西单'达到站号 = 11方向 = '右'走几站 = 到达站号 - 起始站号print('往' + 方向 + ‘走’)print(走几站)print('站‘)不习惯变量名用中文,也可以这么写
start = '王府井'start_num = 8end = '西单'end_num = 11fangxiang = '右'zou_num = end_num - start_numprint('往' + fangxiang + ‘走’)print(zou_num)print('站‘)变量 与 运算 的知识,不用担心今天的新知识太多~