python operator和Branching and cycling

operator

  • Python 的 floor 除法如今使用 “//” 实现,那 3.0 // 2.0 您目测会显示什么内容呢?
    • 地板除结果都是整数
  • a < b < c 事实上是等于?
    • a<b and b<c
  • 不使用 IDLE,你能够轻松说出 5 ** -2 的值吗
    • 5**(-2)
    • 幂运算操做符比其左侧的一元操做符优先级高,比其右侧的一元操做符优先级低。
  • 如何简单判断一个数是奇数仍是偶数?
    • 取余%, if(a%2) "是奇数" else "是偶数"
  • not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9
    • (not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9)
    • == 0 or 0 or 4 or 6 or 9
    • == 4
  • 还记得咱们上节课那个求闰年的做业吗?若是尚未学到“求余”操做,还记得用什么方法能够“委曲求全”代替“%”的功能呢
  • 请写一个程序打印出 0~100 全部的奇数。
  • 咱们说过如今的 Python 能够计算很大很大的数据,可是......真正的大数据计算但是要靠刚刚的硬件滴,不妨写一个小代码,让你的计算机为之崩溃?
  • 爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后恰好一阶也不剩。
  • 答案:github.com/LiuJiYangYa…

Branching and cycling分支与循环

  • if not (money < 100): 上边这行代码至关于?
    • if money >= 100:
  • assert 的做用是什么?
    • assert这个关键字咱们称之为“断言”,当这个关键字后边的条件为假的时候,程序自动崩溃并抛出AssertionError的异常。 什么状况下咱们会须要这样的代码呢?当咱们在测试程序的时候就很好用,由于与其让错误的条件致使程序从此莫名其妙地崩溃,不如在错误条件出现的那一瞬间咱们实现“自爆”。 通常来讲咱们能够用Ta再程序中置入检查点,当须要确保程序中的某个条件必定为真才能让程序正常工做的话,assert关键字就很是有用了。
  • 假设有 x = 1,y = 2,z = 3,请问如何快速将三个变量的值互相交换?
    • x, y, z = z, y, x
  • 猜猜 (x < y and [x] or [y])[0] 实现什么样的功能?
    • 这实际上是 Python 的做者尚未为 Python 加入三元操做符以前,Python 社区的小伙伴们灵活的使用 and 和 or 搭配来实现三元操做符的功能,这里边有涉及到列表和切片的知识
  • 你据说过成员资格运算符吗?
    • Python 有一个成员资格运算符:in,用于检查一个值是否在序列中,若是在序列中返回 True,不然返回 False
>>> name = '小甲鱼'
>>> '鱼' in name
True
>>> '肥鱼' in name
False
复制代码
  • 视频中小甲鱼使用 if-elif-else 在大多数状况下效率要比所有使用 if 要高,但根据通常的统计规律,一个班的成绩通常服从正态分布,也就是说平均成绩通常集中在 70~80 分之间,所以根据统计规律,咱们还能够改进下程序以提升效率。
  • Python 的做者在很长一段时间不愿加入三元操做符就是怕跟 C 语言同样搞出国际乱码大赛,蛋疼的复杂度让初学者望而生畏,不过,若是你一旦搞清楚了三元操做符的使用技巧,或许一些比较复杂的问题反而迎刃而解。
  • 请写下这一节课你学习到的内容:格式不限,回忆并复述是增强记忆的好方式!
  • 打飞机小游戏的设计框架
  • 条件表达式(三元操做符)
x, y = 4, 5
if x < y:
    small = x
else:
    small = y
# 改
small = x if x < y else y
复制代码
  • 断言(assert)
    • assert这个关键字咱们称之为“断言”,当这个关键字后边的条件为假时,程序自动崩溃并抛出AssertionError的异常。当这个关键字后边的条件为真时,程序无影响。
  • 答案:github.com/LiuJiYangYa…
相关文章
相关标签/搜索