Python for Kids
  • 0 前言
  • 1 编程环境准备
  • 2 运算符和表达式
  • 3 掌握变量
  • 4 字符串
  • 5 获取用户的输入
  • 6 条件判断
  • 7 条件判断实操
  • 8 FOR循环
  • 9 循环和列表
  • 10 WHILE循环
  • 11 WHILE循环实操
  • 12 WHILE循环再实操
  • 13 多重循环
  • 14 再谈列表
  • 15 初见函数
  • 16 函数实操
  • 17 选择排序
  • 18 冒泡排序
  • 19 递归算法之一
  • 20 递归算法实操
  • 21 快速排序
  • 22 汉诺塔游戏
  • 23 递推算法
  • 24 分治算法
  • 25 集合与组合
  • 26 贪心算法
  • 27 字典和键值对
  • 28 广度优先搜索算法
  • 29 数组和向量化计算
  • 30 随机和模拟
  • 31 数据可视化
  • 32 文件读取和分析
Powered by GitBook
On this page
  • 大纲
  • 变量和赋值
  • 练习
  • 学习计数器
  • 练习
  • 学习累加器
  • 练习:鲁宾逊的问题

Was this helpful?

3 掌握变量

可以重复用的东西放进变量吧

大纲

  • 变量和赋值

  • 计数器

  • 累加器

  • 练习:鲁宾逊的问题

变量和赋值

在之前的课里,我们计算那个四则运算

(4+3)2+(4+3)×5/2−7(4+3)^2 + (4+3)\times5/2 - 7(4+3)2+(4+3)×5/2−7

一种方式是是直接输入整个式子

(4+3)**2 + (4+3)*5/2-7
59.5

我们也可以换个方式来做。

a = 4+3
b = 5/2
c = a**2 + b*a -7
print(c)
59.5

第一行的代码意思是指,把4+3计算一下,然后把计算结果放到a里面存起来。可以简单理解a就好像是一个保管箱,它保存了4+3的结果,你可以在后面一直使用它。这种计算机里面用于存放东西的保管箱,我们把它叫作变量。第一行代码就是定义一个变量,定义变量通过等号来做,等号左边的a就是变量名,等号右边是要存放的内容。变量的好处就是可以方便我们用很多次。这种定义变量的操作也叫作“赋值”,中间的等号就是赋值操作符。

第二行的代码是类似的,把5/2的结果存放在b里面,第三行是计算那个式子,因为4+3使用了两次,所以直接调用前面已经定义好了的a,这样可以少打字,看起来也很简洁利落,得到了c之后,再打印出来,是不是很清楚呀。

这个例子里我们尝试了多行的命令,多行的命令的结果就是顺序执行,如果你反复使用了同一个变量名来保存不同的东西,后面的值会覆盖前面的值。

a = 4
print(a)
a = 7
print(a)
4
7

前面我们赋值的时候,在等号左边都需要写一个变量名,变量名的要求一般是英文单词或符号,区分大小写,开头不能用数字,不能有空格。

distance = 100
speed = 50
time = distance/speed
print(time)
2.0

这个顺序执行的例子很容易理解,先定义了距离和速度,再计算了时间,最后把time打印出来,注意这里print里输入的time没有带引号,print会在内存环境中搜寻有没有一个叫做time的变量,找到了就打印time对应的变量内容。

变量还可以自己赋值给自己,就像下面例子这样。

distance = 100
print(distance)
distance = distance - 10
print(distance)
100
90

首先distance中赋值了100这个数值,然后在第三行代码中,赋值符号的右边是distance-10,表示用原来的distance中的值去减10,得到90,再把90重新赋值给distance这个变量名,相对于更新了distance这个变量。

可以用中文做变量名,但不推荐这样做

距离 = 100
速度 = 50
时间 = 距离/速度
print(时间)
2.0

下面让我们用之前学到的,变量赋值和数学运算,来处理一个有实际意义的问题,例如圆的面积。回忆一下圆面积的公式是 π×r2\pi\times r^2π×r2,假设我们要计算的某个圆的半径是1.5,那么可以这么计算

pi = 3.14
r = 1.5
area = pi * r**2
print(area)
7.065

上例里,我们先在pi这个变量中存放好了 π\piπ 的值,再在r这个变量中存放了半径的值,然后通过一个计算表达式把圆的面积计算出来,存放到area这个变量中,最后通过print打印出来。

小结:为了重复使用一些信息,例如数值或字符串,我们会把它存放在一个变量中,变量的赋值通过等号来进行,变量名有一定要求。另外我们还学到了多行代码的运行,目前的多行代码是顺序运行的。

练习

让我们再来练习一下计算操场的周长和面积,操场长度是120米,宽度是80米,这次我们用变量的方式来计算,结果也存放在变量中。

length = 120
width = 80
perimeter = (length+width)*2
area = length*width
print(perimeter)
print(area)
400
9600

学习计数器

鲁宾逊在荒岛上生活的时候,每天睡觉前在石头上刻一道横线,今天看石头上有9道横线,算一算如果再过了5天,一共有多少条横线?

i = 9
i = i+1
i = i+1
i = i+1
i = i+1
i = i+1
print(i)
14

i = i + 1的含义是先把变量i的原值加1,然后将期赋值给i。这种语句每运行一次i就会增加一次,所以i称之为计数器。

练习

已知小明的爷爷、爸爸、和他自己的年龄是一个等差数列,每两人之间相差25岁,小明是11岁,请问小明爸爸和小明爷爷的年龄。

n = 11
n = n + 25
print("小明爸爸年龄",n)
n = n + 25
print("小明爷爷年龄",n)
小明爸爸年龄 36
小明爷爷年龄 61

学习累加器

鲁宾逊在荒岛上生活的时候,也用画线来记录自己打到了多少猎物,如果第一天打到了1只鸟,第二天打到了2只鸟,这样一直递增下去,第5天结束的时候一共打了多少只鸟?

n = 0
n = n+1
n = n+2
n = n+3
n = n+4
n = n+5
print(n)
15

一个细胞,第1次会分裂成2个细胞,第2次这2个细胞会分裂成4个,算一算到第5次时一共有几个细胞?

n = 1
n = 2*n
n = 2*n
n = 2*n
n = 2*n
n = 2*n
print(n)
32

练习:鲁宾逊的问题

鲁宾逊在荒岛上生活的时候,他养了一只狗,他目前有30根骨头可以喂它,第一天它吃掉了一半骨头后又吃了一根,第二天把剩下骨头又吃了一半后,又吃了一根,问到了第三天结束,还有多少个骨头?

n = 30
n = n/2 - 1
n = n/2 - 1
n = n/2 - 1
print(n)
2.0
Previous2 运算符和表达式Next4 字符串

Last updated 4 years ago

Was this helpful?