小甲鱼Python第007、008讲:了不起的分支和循环2 | 课后测试及参考答案

测试题:

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

1. assert 的作用是什么?
   assert这个关键字我们称之为“断言”,当这个关键字后边的条件为假的时候,程序自动崩溃并抛出AssertionError的异常。
  什么情况下我们会需要这样的代码呢?当我们在测试程序的时候就很好用,因为与其让错误的条件导致程序今后莫名其妙地崩溃,不如在错误条件出现的那一瞬间我们实现“自爆”。
  一般来说我们可以用Ta再程序中置入检查点,当需要确保程序中的某个条件一定为真才能让程序正常工作的话,assert关键字就非常有用了。

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

1 x,y,z=1,2,3
2 x,y,z=z,x,y
3 print(x,y,z)

1 x,y,z=1,2,3
2 temp=x
3 x=y
4 y=z
5 z=temp
6 print(x,y,z)

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

  不知道emmmm·  (实现三元操作符的功能,涉及列表和切片知识)

  [借鉴]Python 的作者还没有为 Python 加入三元操作符之前,Python 社区的小伙伴们灵活的使用 and 和 or  搭配来实现三元操作符的功能,这里边有涉及到列表和切片的知识。

4. 你听说过成员资格运算符吗?
    Python 有一个成员资格运算符:in。(用于检查一个值是否在序列中,如果在序列中返回True,否则返回False)

eg:

1 list=["你","我","他",1,2,3]
2 print("你" in list)
3 print(1 in list)
4 print("小白" in list)
输出结果自己尝试即可。

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

题目备忘:按照 100 分制,90 分以上成绩为 A,80 到 90 为 B,60 到 80 为 C,60 以下为 D,写一个程序,当用户输入分数,自动转换为ABCD 的形式打印。
 1 print("查看分数等级")
 2 score = int (input("请输入分数:"))
 3 
 4 while 0 < score <100:
 5     if score >90 :
 6         print("A")
 7         score = int(input("请输入分数:"))
 8     elif 80 < score <=90:
 9         print("B")
10         score = int(input("请输入分数:"))
11     elif 60 < score <= 80:
12         print("C")
13         score = int(input("请输入分数:"))
14     else:
15         print("D")
16         score = int(input("请输入分数:"))

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

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

  1. 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 else y

  2. 1 x, y, z = 6, 5, 4
    2 small = x if (x < y and x < z) else (y if y < z else z)
    3 print(small)

     



2. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!

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

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

  Python 有一个成员资格运算符:in。

  三元操作符:small = x if (x < y and x < z) else (y if y < z else z)

    {如果满足条件(x < y and x < z)则small=x;否则如果满足条件y < z则small=y;否则small= z}

上一篇:123


下一篇:Leetcode题解(四)