Python总结暨小甲鱼零基础学Python课后习题(七)

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

   if money >= 100:

1. assert 的作用是什么?

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

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

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

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

   x,y,z=y,x,z

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

这就是python中著名的and-or技巧了!python中没有C语言里面方便的算符,但是这个技巧可以发挥相同的作用。

扫描二维码关注公众号,回复: 3094319 查看本文章

如果x<y为真,取and后面的第一项

如果x<y为假,取and后面的第二项

至于中括号是为了防止x=0这种特殊情况,因为and-or技巧此时不起作用——这也是唯一需要注意的特例。例如x=0,y=1:此时显然为真,但是x<y and x or y中因为x为假,所以最后得到的是y——较大的那个。但是加上中括号[x]=[0]是一个真值,最后得到的是[0]。之后在取第0项就行了~

举例说明:

>>> (0 < 9 and [1] or [2])[0]

1

>>> (9 < 2 and [1] or [2])[0]

2

>>> (1 < 2 and [8] or [2])[0]

8

>>> (7 < 2 and [1] or [8])[0]

8

>>> (1 < 2 and [0] or [2])[0]

0

  

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

Python 有一个成员资格运算符:in,用于检查一个值是否在序列中,如果在序列中返回 True,否则返回 False。

  

例如:

1.     >>> name = '小甲鱼'

2.     >>> '鱼' in name

3.     True

4.     >>> '肥鱼' in name

5.     False

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

  

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

1.     score = int(input('请输入一个分数:'))

2.     if 80 > score >= 60:

3.         print('C')

4.     elif 90 > score >= 80:

5.         print('B')

6.     elif 60 > score >= 0:

7.         print('D')

8.     elif 100 >= score >= 90:

9.         print('A')

10.     else:

11.         print('输入错误!')# 这是我没想到的

6. 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

结果如下:   

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

什么是三元操作符(条件表达式)?

“多少元“操作符的意思是这个操作符有多少个操作数。例如赋值操作符”=“是二元操作符,所以它有左边和右边两个操作符,又例如”-“是一员操作符,它表示负号,因为只有一个操作数。

猜你喜欢

转载自blog.csdn.net/weixin_41809192/article/details/81748008