《Python语言程序设计》学习笔记
笔记选自《Python语言程序设计》[美]梁勇 著
本篇笔记没有记录用python绘画的turtle库
第4章 选择
- 可以使用
int函数将布尔值转换为一个整数。
print(int(True)) # 显示1
print(int(False)) # 显示0
- 可以用
bool函数将一个数字值转换成一个布尔值。如果值为0,这个函数返回False;否则,这个函数总返回True。
print(bool(0)) # 显示False
print(bool(4)) # 显示True
randint(a,b)可以用来产生一个a和b之间且包括a和b的随机整数;randrange(a,b)产生一个在a、b-1之间的随机整数,它等同于randint(a,b-1);random()函数生成一个满足条件0<=r<1.00<=r<1.00<=r<1.0的随机浮点数r。
import random
random.random() #返回一个0.0到1.0之间(不包括1.0)的随机浮点数
random.randint(0,1) # 返回0或1
random.randrange(0,1) # 返回0
- if语句
if boolean-expression:
statement(s)
- 双向if-else语句
if boolean-expression:
statement(s)-for-the-true-case
else:
statement(s)-for-the-false-case
- 嵌套if和多向if-elif-else语句
# 嵌套if语句
if i>k:
if j>k:
print("i and j are great than k")
else:
print("i is less than or equal to k")
# 多向if-elif-else语句
if score>=90.0:
grade='A'
elif score>=80.0:
grade='B'
elif score>=70.0:
grade='C'
elif score>=60.0:
grade='D'
else:
grade='F'
- 逻辑运算符
| 运算符 | 描述 |
|---|---|
not | 逻辑否 |
and | 逻辑和 |
or | 逻辑或 |
- 德摩根律
not (condition1 and condition2)和not condition1 or not condition2一样
not (condition1 or condition2)和not condition1 and not condition2一样
- 判定闰年:一个年份如果能被4整除但不能被100整除,或能被400整除,那么这个年份就是闰年。
1、非整百年份:能被4整除的是闰年。(如2004年就是闰年,2001年不是闰年)
2、整百年份:能被400整除的是闰年。(如2000年是闰年,1900年不是闰年)
- 条件表达式
y = 1 if x > 0 else -1
# 等价于
if x>0:
y=1
else:
y=-1
- 运算符的优先级和结合方向:除赋值运算符外,都是从左到右的结合顺序。
| 优先级从高到低 | 运算符 |
|---|---|
+、-(一元加/减运算符) | |
**(指数运算符) | |
not | |
*、/、//、%(乘、除、整除和余数) | |
+、-(二元加/减运算符) | |
<、<=、>、>=(比较运算符) | |
==、!=(相等运算符) | |
and | |
or | |
=、+=、-=、*=、/=、//=、%=(赋值运算符) |
本章总结
- 一个布尔类型变量可以存储值
True或False。 - 关系运算符(
<、<=、==、!、=、>、>=)是数字和字母一起工作的,产生的结果是一个布尔值。 - 布尔运算符
and、or和not是在布尔值和变量上的操作。 - 当计算
p1 and p2时,Python首先计算p1,如果p1为True才计算p2;如果p1为False,那它就不再计算p2。当计算p1 or p2时,Python首先计算p1,如果p1为False才计算p2;如果p1为True那它就不再计算p2。因此,and称为条件或短路AND运算符,而or称为条件或短路OR运算符。 选择语句是用来解决二选一的程序设计问题。Python有多种类型的选择语句:单向if语句、双向if-else语句、嵌套if-elif-else语句以及条件表达式。- 各种if选择语句都是根据布尔表达式作出控制决定的。根据表达式计算的结果为
True还是False,这些语句会采用两个可能选项中的一种。 - 算术表达式中的运算符根据括号、运算符优先性以及运算符结合方向等规则决定运算顺序。
- 括号可以用来强制改变运算顺序。
- 首先计算优先级高的运算符。对于优先级一样的运算符,它们的结合方向决定了计算顺序。
关键术语
| 英文 | 中文 |
|---|---|
| Boolean expressions | 布尔表达式 |
| Boolean value | 布尔值 |
| operator associativity | 运算符结合方向 |
| operator precedence | 运算符优先级 |
| random module | random模块 |
| selection statements | 选择语句 |
| short-circuit evaluation | 短路计算 |
本篇笔记介绍了Python中的选择语句,包括if、if-else、if-elif-else结构,以及条件表达式的使用。同时讲解了布尔值与逻辑运算符,如not、and、or,还涉及了randint、randrange和random函数的随机数生成,并讨论了判定闰年的逻辑。此外,还提到了运算符的优先级和结合方向。

被折叠的 条评论
为什么被折叠?



