第十章:程序控制结构下(python version 3.7.2)
一.控制结构的嵌套
选择结构嵌套选择结构
例如:根据输入年龄判断是否成年,如果成年的话再要求输入会员卡号.
选择结构嵌套循环结构
例如:根据输入数字判断是否大于0,如果大于0就循环打印.
循环结构嵌套选择结构
例如:打印100以内的奇偶数.
循环结构嵌套循环结构
例如:找出100以内的所有质数.
质数是只有1和它本身两个因数的自然数,也就是说在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数.
二.break关键字
break是用在循环中的关键字,用于终止所在层的 for 循环或 while 循环.只会终止一层.
三.continue关键字
continue关键字也是用在循环中的关键字,它用于跳出当前for循环或while循环,即终止此次循环接下来的指令,进行下次循环.只会把当前循环层写在continue之后的代码都跳过,继续执行下次循环.
四.推导式
推导式(comprehensions,又称解析式)它能够非常简洁地按照某种规则,以一个可迭代对象(如列表、字典和集合等)为基础,推导出另一个新的数据序列.,属于官方提供的语法糖.
推导式共有三种类型,分别是:
- 列表推导式.
- 字典推导式.
- 集合推导式.
列表推导式:
语法如下:
[表达式 for 变量 in 可迭代对象]
可以这样理解:
- for 关键字后面的变量会依次从in关键字后面的可迭代对象中取值.
- 每次取到的值都会被带入前面的表达式进行计算,作为新列表的一个元素.
- 最外层的方括号是列表的标志性身份,它表明这个表达式的结果是生成一个列表,故称列表推导式(list comprehensions).
- 在功能上,方括号内描述的列表推导式相当于一个循环,只不过形式更加简洁罢了.
不使用列表推导式:
使用列表推导式:
列表推导式还可以过滤不符合条件的元素
语法如下:
[表达式 for 变量 in 可迭代对象 if 筛选条件]
可以这样理解:
- for 关键字后面的变量会依次从in关键字后面的可迭代对象中取值.
- 每取一次值,如果通过if 后面筛选条件,那么会带入for关键字前面的表达式进行计算作为新列表的一个元素.
- 最外层的方括号表明这个表达式的结果是生成一个列表.
例如:把一个列表中的偶数取出来创建一个新列表:
集合推导式
集合推导式和列表推导式很像,区别在于它使用大括号.
语法如下:
无筛选条件:{表达式 for 变量 in 可迭代对象}
有筛选条件:{表达式 for 变量 in 可迭代对象 if 筛选条件}
字典推导式
比起上两个推导式,字典是键值对,有两个值.
语法如下:
无筛选条件:{键表达式:值表达式 for 变量 in 可迭代对象}
有筛选条件:{键表达式:值表达式 for 变量 in 可迭代对象 if 筛选条件}
如有错误还望指出