2. Python学习基础 第二章 控制流
2.1 概念梳理
布尔值:
布尔是一种数据类型,在此数据类型中,仅有“True”、“False”两种数据类型。
比较操作符:(此处略去大于、小于等)
符号 | 含义 |
---|---|
== | 等于 |
!= | 不等于 |
比较操作符根据提供的值,返回True Or False.
注:
(1)由于整型或浮点型的值和字符串永远不会相等,表达式42=‘42’的返回值为False.即认为数字42与字符串‘42’是不同的。
(2)‘=’与‘==’两个符号是不同的,即操作符‘等于’和操作符‘赋值’的含义不同。前者是赋值操作,右边的值赋给左边,后者是判别两个值彼此是否相同。
布尔操作符:
3个布尔操作符(and、or、not)用于比较布尔值。像比较操作符一样,他们将表达式求值为布尔值。
二元布尔操作符:and\or 总是接受两个布尔值(或表达式),所以它们被认为是“二元”操作符。
若两个都True, and 返回True,反之返回False;
若有至少一个为True,or返回True,反之返回False。
not操作值仅作用于一个布尔值(或表达式),not求值为相反的布尔值。
混合布尔与比较操作符:
比较操作符返回为布尔值,因此比较操作符可以和布尔操作符一起使用。
示例:
(5<4)and (7>8) #观察返回值为True Or False
即先求左边布尔值,再求右边布尔值,最后整个表达式再求值为一个布尔值。
注:和运算法则类似,Python先求值not操作符,然后是and操作符,最后是or操作符。
控制流:
控制流由“条件”与“代码块”组成。
控制流语句:
if语句:if语句在条件成立时执行,若条件为False,则跳过子句。
包含元素:1.if关键字;2.条件(即求值为True或False的表达式);3.冒号;4.在下一行开始,有缩进的代码块(称为IF子句);
else语句:if后可跟随else语句,只有当if语句的结果为False时,才会执行else语句。
包含元素:1.else关键字;2.冒号;3.在下一行开始,缩进的代码块。
示例:
if a==b:
print(yes)
else:
print(no)
elif语句:有时我们希望,“许多”可能的子句中有一个被执行。elif语句“否则如果”,总是跟在if或另一条elif语句的后面。
它提供了另一个条件,仅在前面条件为False时才检查该条件。
包含元素:1.elif关键字;2.条件(即求值为True或False的表达式);3.冒号;4.在下一行开始,带缩进的代码块。
示例:
if name = "123":
print(yes!)
elif age<55:
print(kid)
当 age<55为True且name==“123”为False时,elif子句就会开始执行。但是,若两个条件都为Flase,那么两个子句都会跳过。“不能”保证至少一个子句被执行。若有一系列的elif语句,那么仅会有一条或零条被执行。
若再加上else部分,则当所有if和elif语句都为False时,会执行else中的语句。
while语句:只要while中的条件为True,那么子句中的代码就会持续执行。
包含元素:1.关键字;2.条件(求值为False或True);3.冒号;4.新开始带有缩进的代码块。
if与while的区别:if结束时,代码从if结束处继续执行,while结束时,代码从while开始处继续执行。
break语句:若要使执行提前跳出while循环子句,可以通过执行break语句进行。
Continue语句:与break语句一样,continue用于循环内部。如果程序执行遇到continue处,则会马上跳回到循环开始处,重新对循环条件求值。
for和range函数(想让一个代码执行固定次数):
for包含以下内容:
1.for关键字;
2.一个变量名;
3.in关键字;
4.调用range()方法,最多传入3个参数;
5.冒号;
6.从下一行开始,缩进的代码块。
1.2 功能模块
Python可以调用一组内建的函数,在使用之前必须使用import语句导入该模块。在代码中应包含以下内容:
1.import关键字;
2.模块名称;
3.可选的更多模块名称,使用逗号隔开。
使用sys.exit()提前结束程序,通过调用sys.exit()函数,可以实现对于程序的提前终止。
1.3 习题
1.布尔值分为True和False两种
2.3个布尔操作符为:or、not、and
3.写出布尔值的真值表:
取值 | A(真) | A(假) |
---|---|---|
B(真) | (真,真)and为真 | (真,假)and为假 |
B(假) | (假,真)and为假 | (假,假)and为假 |
取值 | A(真) | A(假) |
---|---|---|
B(真) | (真,真)or为真 | (真,假)or为真 |
B(假) | (假,真)or为真 | (假,假)or为假 |
- 求值依次为:(1)False ; (2)False; (3)True; (4)False; (5)False; (6)True
5.6个比较操作符分别为:
<、>、、
!、
6.等于操作符是进行比较判别,而赋值操作符是将右边的值赋给左边的变量。
7.条件是以布尔表达式进行展示,总是求值为一个布尔值,True或False,控制流根据条件选择后续的步骤。
8.答案:
1:print(‘eggs’)
2: print(‘bacon’)
3: print(‘ham’)
9.代码:
if spam==1:
print("Hello")
elif spam==2:
print("greeting!")
elif spam!==2:
print(howdy)
10.答案:
Ctrl+C
11.答案:
break跳出循环、continue跳回到循环开始处
12.答案:
range(10) 表示从0数到10且不包含10,也就是从0到9,
range(0,10)表示从0数到10不包含10,也就是从0到9
range(0,10,2)表示从0数到10不包含10,间隔为2
13.代码:
for i in range(1,11):
print(i)
i=1
while i <= 10:
print(i)
i=i+1;
14.spam.bacon()
15.round(number[,ndigits])
四舍五入小数点后ndigits位的浮点值,如果ndigits为空,返回最接近的整数
如果是浮点型且两边距离一样远,会保留到偶数的一边。
abs(x)
返回一个数的绝对值