第4章 选择

来源:互联网 发布:在淘宝店上怎样上图 编辑:程序博客网 时间:2024/06/06 00:48

Chapter 4

4.2 布尔类型、数值和表达式

布尔表达式是能计算出一个布尔值True和False的表达式。

比较运算符:

Python运算符 算数符号 名称 举例(radius = 5) 结果 < < 小于 radius < 0 False <= 小于等于 radius <= 0 False > > 大于 radius > 0 True >= 大于等于 radius >= 0 True == = 等于 radius == 0 False != 不等于 radius != 0 True

比较的结果就是一个布尔逻辑值:True或False。

存储布尔逻辑值的变量称为布尔变量。例如:

lightsOn = True

TrueFalse都是字面量,它们都是保留字。在计算机内部,Python使用1来表示True而使用0来表示False。可以使用int()函数将布尔值转换为一个整数,也可以用bool()函数将一个数字值转换成一个布尔值。注意:使用bool()函数时,==一切非零值==都会被转换为True;而使用int()函数时,True只能被转换为1。(同C++)

4.3 产生随机数字

random模块中的函数randint(a, b)可以用来产生一个ab之间且包括ab的随机整数ii[a,b])。使用该函数前,需导入random模块:

import random

Python也提供了其它函数:randrange(a, b)产生一个在[a,b1]之间的随机整数,它等同于randint(a, b-1)random()产生一个在[0,1.0]中的随机浮点数。

4.4 if语句

Python有多种选择选择语句类型:单项if语句、双向if-else语句、嵌套if语句、多向if-elif-else语句以及条件表达式。

当且仅当条件为True时,一条单项if语句执行一个动作。单项if语句的语法如下:

if boolean-expression:    statement(s) # Note that the statement(s) must be indented

==这里statement(s)必须相对于if向右至少缩进一个空白,而每条语句也必须使用同样个数的缩进。==

如果布尔表达式计算的结果为真,那么就会执行if块中的语句。

4.5 案例研究:猜生日

4.6 双向if-else语句

双向if-else语句根据条件是真还是假来决定执行哪些语句。双向if-else语句的语法如下:

if boolean-expression:    statement(s)-for-the-true-caseelse:    statement(s)-for-the-false-case

4.7 嵌套if和多项if-elif-else语句

将一个if语句放在另一个if语句中就形成了一个嵌套if语句。

if或if-else语句中的语句可以是任意一个合法的Python语句,甚至可以包括另一个if或if-else语句。内部if语句被称为嵌套在外部if语句中。嵌套的深度是没有限制的。

用if-elif-else语句可以简化嵌套if语句。if-elif-else语句==可以没有最后的else项==。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"

4.8 选择语句中的常见错误

选择语句中的大多数常见错误都是由==不正确的缩进问题==导致的。

4.9 实例研究:计算身体质量指数

4.10 实例研究:计算税款

sys模块中的函数exit()用来终止程序。

4.11 逻辑运算符

逻辑运算符notandor都可以用来创建一个组合条件。

布尔运算符:

运算符 描述 not 逻辑否 and 逻辑和 or 逻辑或

运算符not的真值表:

p not p True False False True

运算符and的真值表:

p~1~ p~2~ p~1~ and p~2~ False False False False True False True False False True True True

运算符or的真值表:

p~1~ p~2~ p~1~ or p~2~ False False False False True True True False True True True True

注意:当计算p~1~ ==and== p~2~时,Python首先计算p~1~,如果p~1~为True,再计算p~2~;如果p~1~为False,就不会再计算p~2~。当计算p~1~ ==or== p~2~时,Python首先计算p~1~,如果p~1~为False,再计算p~2~;如果p~1~为True,就不会再计算p~2~。

4.12 实例研究:判定闰年

4.13 实例研究:彩票

4.14 条件表达式

条件表达式是根据某个条件计算一个表达式。条件表达式的语法如下:

expression1 if boolean-expression else expression2

如果boolean-expression为True,那么这个条件表达式的结果就是expression1;否则,这个结果就是expression2。

4.15 运算符的优先级和结合方向

运算符的优先级和结合方向决定了运算符的计算顺序。

算数上,最先计算括号内的表达式。括号可以嵌套,最先执行的是最里面括号中的表达式。当计算没有括号的表达式时,可以根据优先规则和组合规则使用运算符。

运算符优先级图:

优先级 运算符 1 +-(一元加/减运算符) 2 **(指数运算符) 3 not 4 *///%(乘,除,整除和求余) 5 +-(二元加/减运算符) 6 <<=>>=(比较运算符) 7 ==!=(相等/不等运算符) 8 and 9 or 10 =+=-=*=/=//=%=**=(赋值运算符)

如果相同优先级的运算符紧连在一起,那它们的结合方向决定了计算顺序。所有的二元运算符(除赋值运算符外)都是从左到右的结合顺序(==左结合性==)。

4.16 检测一个对象的位置

0 0
原创粉丝点击