0. if not (money < 100): 这行代码相当于?
if money >=100
1. assert 的作用是什么?
断言,assert这个关键字我们称之为“断言”,当这个关键字后边的条件为假的时候,程序自动崩溃并抛出AssertionError的异常。
什么情况下我们会需要这样的代码呢?当我们在测试程序的时候就很好用,因为与其让错误的条件导致程序今后莫名其妙地崩溃,不如在错误条件出现的那一瞬间我们实现“自爆”。
一般来说我们可以用Ta再程序中置入检查点,当需要确保程序中的某个条件一定为真才能让程序正常工作的话,assert关键字就非常有用了。
2. 假设有 x = 1,y = 2,z = 3,请问如何快速将三个变量的值互相交换?
x,y,z = z,y,x
3. 猜猜 (x < y and [x] or [y])[0] 实现什么样的功能?
0. 视频中小甲鱼使用 if elif else 在大多数情况下效率要比全部使用 if 要高,但根据一般的统计规律,一个班的成绩一般服从正态分布,也就是说平均成绩一般集中在 70~80 分之间,因此根据统计规律,我们还可以改进下程序以提高效率。
score = int(input("请输入一个分数:"))if 90<score<=100:
print("A")
elif 80 < score <= 90:
print("B")
elif 60 < score <= 80:
print("C")
elif 0<= score <= 60:
print("D")
else:
print("您输入有误,请重新输入")
三元操作符
small = x if (x<y and x<z) else (y if y<z else z)
第九课
0. 下面的循环会打印多少次"I Love FishC"?
1. for i in range(0, 10, 2):
2. print('I Love FishC')
5次,从0开始,到10结束,步长为2
1. 下面的循环会打印多少次"I Love FishC"?
1. for i in 5:
2. print('I Love FishC')
会报错,上节课的课后习题我们提到了 in 是“成员资格运算符”,而不是像 C 语言那样去使用 for 语法。Python 的 for 更像脚本语言的 foreach。
>>> for i in range(1,5):
print("ff")会打印4次ff,range(1,5),从1开始,到4, 不包括52. 回顾一下 break 和 continue 在循环中起到的作用
break语句的作用是终止当前循环,跳出循环体。
continue语句的作用是终止本轮循环并开始下一轮循环(这里要注意的是:在开始下一轮循环之前,会先测试循环条件)。
4. 请问 range(10) 生成哪些数?
会生成 range(0, 10),list(range(0, 10)) 转换成列表是:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],注意不包含 10 哦。
5. 目测以下程序会打印什么?
1. while True:
2. while True:
3. break
4. print(1)
5. print(2)
6. break
7. print(3)
打印2,3,因为 break 只能跳出一层循环
6. 什么情况下我们要使循环永远为真?
while Ture:
循环体
同样用于游戏实现,因为游戏只要运行着,就需要时刻接收用户输入,因此使用永远为真确保游戏“在线”。操作系统也是同样的道理,时刻待命,操作系统永远为真的这个循环叫做消息循环。另外,许多通讯服务器的客户端/服务器系统也是通过这样的原理来工作的。
所以永远为“真”虽然是“死循环”,但不一定是坏事,再说了,我们可以随时用 break 来跳出循环!
7. 【学会提高代码的效率】你觉得以下代码效率方面怎样?有没有办法可以大幅度改进(仍然使用while)?
1. i = 0
2. string = 'ILoveFishC.com'
3. while i < len(string)):
4. print(i)
5. i += 1
这段代码之所以“效率比较低”是因为每次循环都需要调用一次 len() 函数
可以改成
length = len(string)
while i <length:
下次写29页