【零基础】Python3学习课后练习题(七)

版权声明:未经授权请勿转载,否则需承担相应法律责任。 https://blog.csdn.net/RonyLance/article/details/82931491

本文是跟着鱼C论坛小甲鱼零基础学习Python3的视频学习的,课后题也是跟随每一课所附属的题目来做的,根据自己的理解和标准答案记录的笔记。

第八课

测试题:

0. if not (money < 100): 上边这行代码相当于?

答:相当于 if money>=100: 。

1. assert 的作用是什么?

答:assert 的作用是 “断言” ,在程序中作为关键字使用,当这个关键字后的条件为假的时候,程序自动崩溃并且报错 “AssertionError” 。当我们测试程序的时候这个关键字就是一个很好的检测代码的工具,我们可以利用它在程序中设置检查点,当需要确保程序中某个条件为真才能让程序正常工作的时候,assert 关键字起到了重要作用。


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

答: x, y, z = z, y, x 。


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

答:取第一个值。这个式子可以简化成(x<y and x or y),即x<y为真时输出x,否则输出y。但当x和y的有值为0(等同于Flase)的情况就会判断失误。因为改为[x]和[y],这样[x]和[y]就都为真了,再加上(0),又变成了列表的第一个元素,即复原为x或y。一般python的写法为x if x<y else。这是在没有三元操作符功能时候的代替写法。


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

答:Python 中有成员资格运算符 in 和not in ,用于判断某个元素是否在某个序列中。

动动手:

0. 视频中小甲鱼使用 if elif else 在大多数情况下效率要比全部使用 if 要高,但根据一般的统计规律,一个班的成绩一般服从正态分布,也就是说平均成绩一般集中在 70~80 分之间,因此根据统计规律,我们还可以改进下程序以提高效率。  
题目备忘:按照100分制,90分以上成绩为A,80到90为B,60到80为C,60以下为D,写一个程序,当用户输入分数,自动转换为ABCD的形式打印。

score = int(input('请输入一个分数:'))
if 100 >= score >= 90:
    print('A')
elif 90 > score >=80:
    print('B')
elif 80 > score >=60:
    print('C')
elif 60 > score >=0:
    print('D')
else:
    print('Wrong number !')
    

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

1.	x, y, z = 6, 5, 4
2.	if x < y:
3.	    small = x
4.	    if z < small:
5.	        small = z
6.	elif y < z:
7.	    small = y
8.	else:
9.	    small = z

答:

x, y, z = 6, 5, 4
small = x if (x < y and x < z) else (y if y < z else z)

猜你喜欢

转载自blog.csdn.net/RonyLance/article/details/82931491