美文网首页
第八课:了不起的分支和循环2

第八课:了不起的分支和循环2

作者: 无罪的坏人 | 来源:发表于2018-07-18 19:24 被阅读0次

内容来源于网络,本人只是在此稍作整理,如有涉及版权问题,归小甲鱼官方所有。

练习题(来自小甲鱼官方论坛)

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

答:if money >= 100:


1. assert 的作用是什么?

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


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

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


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

答:这其实是 Python 的作者还没有为 Python 加入三元操作符之前,Python 社区的小伙伴们灵活的使用 and 和 or 搭配来实现三元操作符的功能,这里边有涉及到列表和切片的知识,这部分知识很快就会讲解,迫不及待的朋友可以先稍微预习下。

这个式子可以简化成(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 y
这样代码更易理解。


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

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

例如:

>>> name = '小甲鱼'
>>> '鱼' in name
True
>>> '肥鱼' in name
False

当下节课我们讲解 for 语句的时候,你看到 in 会不会就有了更深入的理解?!


编程题

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

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

答:代码如下

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('输入错误!')

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

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


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

  • if的4种用法:if;if...else;if..elif...elif...elif...else;if嵌套;
  • Python可以有效地避免“悬挂else”(缩进的使用)
  • 条件表达式(三元操作符)
    small = x if x < y else y(求最小数)
  • 断言(assert):当需要确保程序中的某个条件一定为真才能让程序正常工作时,assert关键字就非常有用了,关键字后的条件为假的时候,程序自动崩溃并抛出AssertionError异常。

相关文章

  • 第八课:了不起的分支和循环2

    内容来源于网络,本人只是在此稍作整理,如有涉及版权问题,归小甲鱼官方所有。 练习题(来自小甲鱼官方论坛) 0. i...

  • py_11分支和循环

    xmind总结:1.分支 2.循环 分支和循环 一、程序执行的三大流程 1.顺序执行 2.分支:选择条件执行 3....

  • Python分支循环总结

    一,分支结构 1,单分支结构 2,二分支结构 3,多分支结构 4,分支嵌套: 二,循环结构 1,while循环 2...

  • 第七课:了不起的分支和循环

    内容来源于网络,本人只是在此稍作整理,如有涉及版权问题,归小甲鱼官方所有。 由于找不到课后习题,所以只介绍一个打飞...

  • 循环和分支

    分支 if 分支 else通过缩进来匹配if,等价于: 条件表达式 a = x if 条件 else y 断言 a...

  • 循环和分支

    循环结构 分支结构 break和continue对比 break:终止循环,循环中后面的代码不再执行continu...

  • 分支和循环

    一、分支 1. if 语句 a.语法:if 条件语句:代码段 b.说明:if - 关键字条件语句 - 任何有结果的...

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

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

  • 自学Python从入门到放弃,threeday

    一,分支和循环(branch and loop) 1.if···2.if···else···3.if···elif...

  • 今日分享:Java最常用的分支语句和逻辑语句

    我们常会用到的逻辑语句循环和分支结构的语句。 Java中有三种主要的循环结构: (1)while 循环 (2)do...

网友评论

      本文标题:第八课:了不起的分支和循环2

      本文链接:https://www.haomeiwen.com/subject/rrsapftx.html