2.1 计算机会算术
1.数值运算
打开Spyder,在临时窗口输入命令,就能马上运算
2.逻辑运算
Python中的布尔值(Boolean):True(真) 、False(假)
Python中逻辑运算符:and(与) 、or(或) 、not(非)
1)and(与):全真教
and运算必须是两个条件都为True才是真,一个为False就返回False。相当于两条连接的桥,要过河必须两条都要经过。
2)or(或):
or运算只要有一个为真就是真,全部是假才为假。相当于两地之间的两条平行的独木桥,走一条就可以通过。
3)not(非)
not运算就是对结果取反。
3.判断表达式
1)判断运算符:==(等于) !=(不等于) <(小于) >(大于) <=(小于或等于) >=(大于或等于)
2)判断表达式
4.运算优先级
按优先级先后排列:
1)若有括号 "()" 将式子括起来,则最优先运算括号里面的
2)幂运算:**
3)乘除法:*、/ 、// (整除)
4)加减法:+、-
5)判断:==、> 、 < 、>= 、 <=
6)逻辑运算:and、or、not
除了上述的4中运算符外,Python中还有 位运算符、成员运算符、身份运算符、赋值运算符。下面的链接有这几中运算符的讲解和更加详细的运算符优先级。
Python中运算符及优先级:https://www.runoob.com/python/python-operators.html
2.2 计算机记性好
1. 变量革命
由于数据在内存中的地址过于冗长、难以记忆,因此有了用变量记录数据,给变量起名字然后通过变量名来提取数据。
如:计算机世界里有三个房子,第一个是Jane的、第二个是Marry的、第三个是Kate的。有一天Jane的朋友Tom来访,但是不知道Jane住在哪,就问计算机世界的主宰,告诉Tom,Jane住在第一个房子。Tom就通过访问房子1找到了Jane。
Tom找到了Jane后,Jane邀请他进入房间,那么房子里面就有Tom和Jane,即变量运算
Marry想要把房子卖出去,找到了买家Jack,手续办完后Jack入住房子2,即变量更新
Kate当时这套房子的房贷是800,000元,月利率是0.2%,Kate想算出她每月该还多少。由于房贷和利率固定,可以用一个名字来表示,则有
通过上面几个例子可以看出用变量名来访问变量是非常方便的,减少了代码的复用、减少了内存、容易记住变量、将数据妥善保存……
2. 变量的类型
变量大致可以分为动态变量和静态变量
****静态变量:事先说明好的,不能修改的变量。****
动态变量:可以对变量的值进行修改更新。
还可以根据变量类型来划分:
1)整型;2)浮点型;3)字符串型;4)字符型;5)布尔型
在Python中可以用type()函数来查看变量的类型
注意:在Python中 char型相当于字符串型
3.序列
序列相当于一种容器,可以容纳多种类型的变量。在序列中的数据被称为元素,序列是有序的数据集合。序列主要包括:元组、列表。
1)元组(Tuple)
元组用括号来表示,元素之间用 "," 隔开。
元组里面还可以嵌套一个元组。(不仅可以嵌套元组,还可以嵌套列表)
访问元组
访问元组中的元素
尾部查询
按找步长查询:格式 元组名[上限:下限:步长]
对于序列来说,查找格式都是一样的:序列名[上限:下限:步长]
2)列表(List)
列表用一对中括号表示 "[ ]",里面的元素由逗号隔开。
访问列表元素
按照步长来访问元素:格式 列表名[上限:下限:步长]
列表的查询和元组的查询是非常相似的,但是它们之间也有差别。
3)元组和列表的区别
元组的数据是固定的,一旦建立则不可以在进行更改,而列表可以修改。
列表的数据也修改,可以更新。
由于元组的数据不能修改,因此元组的对于元组的操作就非常少,而对于列表的操作则多于元组。
4.词典
词典由一对花括号 { } 表示,词典里面存储的是键值对,即 key:value,每个键值对之间用逗号隔开。
字典通过key来查询value
字典可以修改元素值
字典可以增加元素
字典与列表类似,因此字典的操作也很多。
元组、列表、字典都是一种容器型的存储结构。元组、列表是序列,元组的数据固定不变,而字典和列表则可以修改。
由于列表和字典的操作较多,在下边给出了两个详细讲解。
列表的详细讲解:https://www.runoob.com/python3/python3-list.html
字典的详细讲解:https://www.runoob.com/python/python-dictionary.html
2.3 计算机懂选择
1.if...else...结构
格式:
if( 判断语句 ): #这里是冒号
(要有缩进)执行语句……
else: #这里是冒号
执行语句……
举例:小白兔不能给大灰狼开门,但可以给其他动物开门。
animal = "大灰狼"
if(animal == "大灰狼"):
print("不开门!")
else:
print("请进。")
输出:不开门!
animal = "小青蛙"
if(animal == "大灰狼"):
print("不开门!")
else:
print("请进。")
输出:请进。
2.小弟站后边
在if else语句中,执行语句前面一定要有缩进,才可以保证语句执行的顺序或等级关系。animal = "大灰狼"
if(animal == "大灰狼"):
print("不开门!")
else:
print("请进。")
print("请进。") #没有缩进,无论如何都执行
输出:
不开门!
请进。
if和else语句就像老大,而执行语句就像小弟,只能靠后站。只有两位大哥其中之一打赢了,才会轮到小弟出头(执行语句)。
如果if和else里面的执行语句没有缩进,则会报错。3.if的嵌套使用 与 elif
1)elif语句
格式
if( 判断语句 ):
(要有缩进)执行语句……
elif( 判断语句 ):
(要有缩进)执行语句……
elif( 判断语句 ):
(要有缩进)执行语句……
elif( 判断语句 ):
(要有缩进)执行语句……
………
else:
执行语句……
举例
i = 2
if(i < 0):
print("i是负数")
elif(i > 0):
print("i大于0")
else:
print("i等于0")
输出: i大于0
2)if的嵌套使用
格式
if( 判断语句 ):
(要有缩进)执行语句……
if( 判断语句 ):
(要有缩进)执行语句……
if( 判断语句 ):
(要有缩进)执行语句……
…………
举例:接上面的大灰狼例子,如果是其他动物则可以进门然后喝茶,如果这动物是兔妈妈,那么妈妈回来后就要做饭。
animal = "兔妈妈"
if(animal == "大灰狼"):
print("不开门!")
else:
print("请进。")
if(animal == "兔妈妈"):
print("开始做饭。")
else:
print("请喝茶。")
输出:
请进。
开始做饭。
animal = "小青蛙"
if(animal == "大灰狼"):
print("不开门!")
else:
print("请进。")
if(animal == "兔妈妈"):
print("开始做饭。")
else:
print("请喝茶。")
输出:
请进。
喝茶。
2.4 计算机能循环
1.for循环
格式
for 元素名 in 序列/字典: #冒号
执行语句1(前面要有缩进)
执行语句2(前面要有缩进)
执行语句3(前面要有缩进)
……
1)无须生成序列:
使用 range(次数) 函数
for i in range(10):
print(i)
""" 循环10次,输出0 到 9 """
输出:
0
1
2
3
4
5
6
7
8
9
for i in range(5,10):
print(i)
""" 循环5次,输出5 到 9,不包括10 """
输出:
5
6
7
8
9
2)生成序列:
需要生成一个序列(元组、列表、字典)
"""生成字典,打印字典里的键"""
dict1 = {'Tom': 15, 'Jane': 13, 'Jack': 14, 'Kate': 11}
for x in dict1:
print(x)
输出:
Tom
Jane
Jack
Kate
"""生成列表,打印列表里面的元素"""
li = [1.3,2,"Hello",True,dict1]
for x in li:
print(x)
输出:
1.3
2
Hello
True
{'Tom': 15, 'Jane': 13, 'Jack': 14, 'Kate': 11}
"""生成元组,打印元组里面的元素"""
Tuple = (li,12,"haha",dict1)
for x in Tuple:
print(x)
输出:
[1.3, 2, 'Hello', True, {'Tom': 15, 'Jane': 13, 'Jack': 14, 'Kate': 11}]
12
haha
{'Tom': 15, 'Jane': 13, 'Jack': 14, 'Kate': 11}
for循环比较适合用于循环次数确定的情况。
2.while循环
格式
while(判断语句):
执行语句1(前面要有缩进)
执行语句2(前面要有缩进)
执行语句3(前面要有缩进)
……
直到不满足判断语句时,循环跳出
举例:求和,sum每次加i,i从1开始,每次循环加1,当sum累加到大于等于15时,结束循环。
i = 1
Sum = 0
while(Sum < 15):
Sum = Sum + i
i = i + 1
print(Sum)
输出:15
特殊的while循环——死循环
若想让程序一直执行,可以使用死循环
死循环
while(True):
执行语句1(前面要有缩进)
执行语句2(前面要有缩进)
执行语句3(前面要有缩进)
……
while循环一般适用于循环次数不确定的情况。
3.continue 和 break
1)continue:跳过此轮循环,执行下一轮循环。
2)break:跳出整个循环。
举例:
现在有一群动物,要来小白兔家做客,
若小白兔看见动物里面有大灰狼,那么就停止客人进入;
若是小灰狼,则赶跑小灰狼,继续下一个客人进入,
最后看白兔家里面有谁。
animals = ["小青蛙","绵羊","小灰狼","松鼠","熊猫","大灰狼","小灰狼","老马"]
home = ["小白兔"]
for animal in animals:
if(animal == "大灰狼"):
print("大灰狼来了,快闭门谢客。")
break;
elif(animal == "小灰狼"):
print("赶跑小灰狼,让后面的客人进来")
continue
else:
home.append(animal)
print(home)
输出:
赶跑小灰狼,让后面的客人进来
大灰狼来了,快闭门谢客。
['小白兔', '小青蛙', '绵羊', '松鼠', '熊猫']