小甲鱼007-008了不起的分支和循环1-2

题目来自:https://blog.csdn.net/qq_44898209/article/details/105328198

测试题:   0. if not (money < 1001): 上边这行代码相当于?    

不是(not) money < 10001 也就是money >= 10001

1. assert 的作用是什么?

如果条件是假的或者不成立,那就直接抛出异常;如果条件为真,那就继续

 当条件结果为假的时候,抛出程序异常

assert这个关键字我们称之为“断言”,当这个关键字后边的条件为假的时候,程序自动崩溃并抛出AssertionError的异常。

什么情况下我们会需要这样的代码呢?当我们在测试程序的时候就很好用,因为与其让错误的条件导致程序今后莫名其妙地崩溃,不如在错误条件出现的那一瞬间我们实现“自爆”。

一般来说我们可以用Ta再程序中置入检查点,当需要确保程序中的某个条件一定为真才能让程序正常工作的话,assert关键字就非常有用了。

2. 假设有 x = 1,y = 2,z = 3,请问如何快速将三个变量的值互相交换?

我的答案:x=z,z=y,y=x

正确答案:x,y,z=z,y,x

3. 猜猜 (x < y and [x] or [y])[0] 实现什么样的功能? 

比较运算符优先级大于逻辑运算符,所以先比x和y的大小


分析

当x < y时输出[x]列表中的第一个数([0]代表输出列表中的第一个数)

当x > y时输出[y]列表中的第一个数([0]代表输出列表中的第一个数)

4. 你听说过成员资格运算符吗?

成员运算符 in  用于检查一个值是否在序列中,如果在就返回true,否则返回false

例如:

>>> name = '小甲鱼'

>>> '鱼' in name

True

>>> '肥鱼' in name

False

动动手:

0. 视频中小甲鱼使用 if-elif-else 在大多数情况下效率要比全部使用 if 要高,但根据一般的统计规律,一个班的成绩一般服从正态分布,也就是说平均成绩一般集中在 70~80 分之间,因此根据统计规律,我们还可以改进下程序以提高效率。

题目备忘:按照 100 分制,90 分以上成绩为 A,80 到 90 为 B,60 到 80 为 C,60 以下为 D,写一个程序,当用户输入分数,自动转换为ABCD 的形式打印。

因为平均成绩一般集中在70-80分,所以先判断输入的成绩是否在60-80分之间,在的话再判断别的


rank

1. Python 的作者在很长一段时间不肯加入三元操作符就是怕跟 C 语言一样搞出国际乱码大赛,蛋疼的复杂度让初学者望而生畏,不过,如果你一旦搞清楚了三元操作符的使用技巧,或许一些比较复杂的问题反而迎刃而解。

请将以下代码修改为三元操作符实现:

x, y, z = 6, 5, 4

if x < y:

    small = x

    if z < small:

        small = z

elif y < z:

    small = y

else:

    small = z

答案:代码目的是找出x,y,z三个里面最小的那个数

small = x if (x < y and x < z) else (y if y < z else z)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容