**#Python7-9**
知识点:
0.三元操作符条件表达式:
当条件值为True时将x值赋给small,条件值为False时将y值赋给small。
1.断言(assert):当这个关键字后边的条件为假的时候,程序自动崩溃并抛出AssertionError的异常。
例如:>>> assert 3 < 4
一般可以用它在程序中置入检查点,当需要确保某一个条件一定为真才能让程序运行的话,assert关键字就非常有用了。
2.for循环:
例如:
3.range():
语法:range([ starat , ] stop [ , step =1])
括号中的两个参数表示这两个参数是可选的。step=1表示第三个参数的默认值是1.range()的作用是生成一个从start参数的值开始到stop参数的值结束的数字序列。
例如:
4.break:终止当前循环,跳出循环体。
5.continue():终止本轮循环并开始西一轮循环(循环条件为True)。
例如:
结果:
习题:
0.假设有 x = 1,y = 2,z = 3,请问如何快速将三个变量的值互相交换?
x, y, z = z, y, x
1.你听说过成员资格运算符吗?
Python 有一个成员资格运算符:in,用于检查一个值是否在序列中,如果在序列中返回 True,否则返回 False。
例如:
1.>>> name = ‘小甲鱼’
2. >>> ‘鱼’ in name
3. True
4. >>> ‘肥鱼’ in name
5. False
2.三元操作符使用: small = x if (x < y and x < z) else (y if y < z else z)
3.下面的循环会打印多少次"I Love FishC"?
- for i in range(0, 10, 2):
-
print('I Love FishC')
分析:5 次,因为从 0 开始,到 10 结束,步进为 2。
4.下面的循环会打印多少次"I Love FishC"?
- for i in 5:
-
print('I Love FishC')
分析:会报错,上节课的课后习题我们提到了 in 是“成员资格运算符”,而不是像 C 语言那样去使用 for 语法。Python 的 for 更像脚本语言的 foreach。
5.请问 range(10) 生成哪些数?
分析:会生成 range(0, 10),list(range(0, 10)) 转换成列表是:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],注意不包含 10 哦。
6.目测以下程序会打印什么?
会打印:
2
3
break只能跳出一层循环
7.什么情况下我们要使循环永远为真?
while Ture:
循环体
同样用于游戏实现,因为游戏只要运行着,就需要时刻接收用户输入,因此使用永远为真确保游戏“在线”。操作系统也是同样的道理,时刻待命,操作系统永远为真的这个循环叫做消息循环。另外,许多通讯服务器的客户端/服务器系统也是通过这样的原理来工作的。
所以永远为“真”虽然是“死循环”,但不一定是坏事,再说了,我们可以随时用 break 来跳出循环!
8.修改代码,提高效率。
分析:这段代码之所以“效率比较低”是因为每次循环都需要调用一次 len() 函数。
修改后:
9.设计一个验证用户密码程序,用户只有三次机会输入错误,不过如果用户输入的内容中包含"*"则不计算在内。
10.如果一个 3 位数等于其各位数字的立方和,则称这个数为水仙花数。例如:153 = 1^3 + 5^3 + 3^3,因此 153 就是一个水仙花数。求水仙花数。
结果:
11.三色球问题
有红、黄、蓝三种颜色的求,其中红球 3 个,黄球 3 个,绿球 6 个。先将这 12 个球混合放在一个盒子中,从中任意摸出 8 个球,编程计算摸出球的各种颜色搭配。
结果: