Python可以有效的避免悬挂else,何谓悬挂else?
在C语言中,if-else采取就近原则,那么就有可能因为程序的书写问题导致程序错误。Python使用了缩进。
条件表达式,三元操作符
例如:使用一条语句完成以下的条件判断和赋值操作
x,y = 4,5
if x < y:
small = x
else:
small = y
可以用一条语句写出来:
Small = x if x<y else y
断言assert
当这个关键字后面的条件为假的时候,程序自动崩溃并抛出assertionError的异常
使用环境:当需要确保程序中的某个条件一定为真才能让程序正常工作的话,assert关键字就很有用了
课后题
0. if not (money < 100): 上边这行代码相当于?
解:if money >= 100:
1.assert 的作用是什么?
解:在程序中置入检查点,当需要确保程序中的某个条件一定为真才能让程序正常工作的话,assert关键字就非常有用了。
2.假设有 x = 1,y = 2,z = 3,请问如何快速将三个变量的值互相交换?
解:x,y,z=z,x,y
3.猜猜 (x < y and [x] or [y])[0] 实现什么样的功能?
解:使用 and 和 or 搭配来实现三元操作符的功能
4.你听说过成员资格运算符吗?
解:Python 有一个成员资格运算符:in,用于检查一个值是否在序列中,如果在序列中返回 True,否则返回 False。
动手题:
0.使用 if elif else 在大多数情况下效率要比全部使用 if 要高,但根据一般的统计规律,一个班的成绩一般服从正态分布,也就是说平均成绩一般集中在 70~80 分之间,因此根据统计规律,我们还可以改进下程序以提高效率。
score = int(input('请输入一个分数:'))
if 80 > score >= 60:
print('C')
elif 90 > score >= 80:
print('B')
elif 60 > score >= 0:
print('D')
elif 100 >= score >= 90:
print('A')
else:
print('输入错误!')
- Python 的作者在很长一段时间不肯加入三元操作符就是怕跟C语言一样搞出国际乱码大赛,蛋疼的复杂度让初学者望而生畏,不过,如果你一旦搞清楚了三元操作符的使用技巧,或许一些比较复杂的问题反而迎刃而解。