选择结构与布尔逻辑

选择结构

布尔表达式:结果可以为真或假的表达式。
关系运算符:用于判定两个数值之间是否存在某种特定的关系。

运算符 含义
> 大于
< 小于
>= 大于或等于
<= 小于或等于
== 等于
!= 不等于

控制结构是为了控制一组语句的执行顺序而引入的逻辑结构。
最简单的控制结构是顺序结构(一组语句的执行顺序就是它们的排列顺序)。
决策结构(也称为选择结构)用于使程序在某种特定的环境下执行某些语句。

单分支选择结构

if 条件:
		语句
		语句
		...

双分支选择结构

if 条件:
		语句
		语句
		...
else:
		语句
		语句
		...

编写if-else语句时要严格遵循缩进规则:

  • 确保if从句和else从句对齐。
  • if从句和else从句都要分别跟着一个语句块,语句块中语句的缩进是一致的。

字符串比较

python语言支持使用 == 对两个字符串进行相等比较,字符串的比较对字母大小写是敏感的。

name1 = 'mark'
name2 = 'mary'
if name1 == name2 :
	print('the names are the same.')
else :
	print('the names are not the same.')

除了比较字符串是否相等,还可以判定一个字符串是否大于或小于另一个字符串。
计算机并不是真的将诸如A、B、C这样的字符存储在内存中,而是存储代表这些字符的数值编码 。

  • 大写字母A ~ Z用数值65 ~ 90表示
  • 小写字母a ~ z用数值97 ~122表示
  • 在作为字符存储在内存中时,数字0 ~ 9用数值48 ~ 57表示
  • 空格用数值32表示
name1 = 'mark'
name2 = 'mary'
if name1 > name2 :
	print('mark is greater than mary.')
else :
	print('mark is not greater than mary.')

运算符>是从第一个字符(也就是最左边的字符)开始,逐个比较字符串’mark’和’mary’中的每个字符,如果参与比较的两个字符串中有一个较短,则仅比较可以对应的字符。如果可以对应的字符都相等,则较短的字符串被认定为小于较长的字符串。

嵌套选择结构

要想测试多个条件,就需要将一个选择结构嵌套在另一个选择结构中。
在编写嵌套结构时,恰当的缩进非常重要。

  • 确保每一个else从句都与它对应的if从句对齐。
  • 确保每一个语句块内的语句都保持一致的缩进。
if 条件:
		if 条件:
				语句
		else:
				语句
		...
else:
		语句
		语句
		...
if salary >=MIN_SALARY:
	if years_on_job >= MIN_YEARS:
		print('You qualify for the loan.')
	else:
		print('You must have been employed','for at least',MIN_YEARS,'years to qualify.')
else:
	print('You must earn at least $',format(MIN_SALARY,',.2f'),' per year to qualify',sep=' ')

if - elif - else语句

if 条件1:
		语句
		语句
		...
elif 条件2:
		语句
		语句
		...
(插入所需要数量的elif从句)
else:
		语句
		语句
		...

需要严格注意语句的缩进与对齐:if、elif、else从句都是对齐的。
每个条件执行的语句块都要进行同样的缩进。

逻辑运算符

运算符 说明
and 运算符and将两个布尔表达式连接成一个复合表达式。仅当两个子表达式都为真时,这个复合表达式的值才为真
or 运算符or将两个布尔表达式连接成一个复合表达式。只要两个子表达式中有一个为真,复合表达式的值就为真
not 运算符not是一个一元运算符,即它只要求一个操作数。这个操作数必须是一个布尔表达式。运算符not用于对一个布尔表达式的真值取反。

在判断一个数值是否在某个取值范围内的时候,最好采用运算符and。
在判断一个数值是否在某个取值范围之外时,最好采用运算符or。

布尔变量

布尔变量只能引用真(True)和假(False)两个值中的一个。
布尔变量通常用作指示某个特定的条件是否存在的标志。

机器龟图形库

turtle,heading()#返回机器龟的朝向
turtle.isdown()#检测画笔是否被放下,若画笔放下,则返回True,否则返回False
turtle.isvisible()#判断机器龟是否可见,若可见,则返回True,否则返回False
turtle.hideturtle()#隐藏机器龟
turtle.pencolor()#不传递任何实参的情况下,获取当前颜色
turtle.fillcolor()#不传递任何实参的情况下,以字符串形式返回当前填充颜色 
turtle.bgcolor()#不传递任何实参的情况下,以字符串形式返回图形窗口背景颜色
turtle.pensize()#不传递任何实参的情况下,返回画笔线宽
turtle.speed()#不传递任何实参的情况下,返回画线速度

参考书籍:《Python程序设计基础》 [美] 托尼·加迪斯

你可能感兴趣的:(Python,python,青少年编程)