专栏首页石开之旅小甲鱼《零基础学习Python》课后笔记(七、八):了不起的分支和循环1

小甲鱼《零基础学习Python》课后笔记(七、八):了不起的分支和循环1

测试题

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

if money >= 100

1.assert的作用是什么?

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

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

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

格式 : assert+空格+要判断语句+逗号+双引号“报错语句”

  >>> assert 5 > 6, "错误"  
  Traceback (most recent call last):  
    File "<pyshell#49>", line 1, in <module>  
      assert 5 > 6, "错误"  
  AssertionError: 错误  

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

x, y, z = z, y, x

  >>> x =1  
  >>> y = 2  
  >>> z = 3  
  >>> x,y,z = z, y, x  
  >>> z  
  1  
  >>> y  
  2  
  >>> x  
  3  

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

这其实是 Python 的作者还没有为 Python 加入三元操作符之前,Python 社区的小伙伴们灵活的使用 and 和 or  搭配来实现三元操作符的功能。

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

in。用于检查一个值是否在序列中,在就返回True,否则返回False。

  >>> name = 'allen'  
  >>> 'a' in name  
  True  
  >>> 'all' in name  
  True  
  >>> 'All' in name  
  False 

动动手

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

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

  number = input('请输入你的成绩:')  
  grade = int(number)  
  if 100 >= grade >= 90:  
      print('A')  
  elif 90 > grade >= 80:  
      print('B')  
  elif 80 > grade >= 60:  
      print('C')  
  elif 60 > grade >= 0:  
     print('D')  
  else:  
     print('输入错误!')  

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

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

  x, y, z = 6, 5, 4  
  if x < y:  
      samll = 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) 

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 小甲鱼《零基础学习Python》课后笔记(四):改进我们的小游戏

    会一直打印直到电脑内存被占用完。字符串‘C’是一个非0值,所以while语句判断为真,就会一直打印。

    小火柴棒
  • 小甲鱼《零基础学习Python》课后笔记(二十五):字典——当索引不好用时1

    测试题 0.当你听到小伙伴在讨论“映射”、“哈希”、“散列”或者“关系数列”的时候,事实上他们就是在讨论什么呢? 事实上是在讨论字典,字典是python中的...

    小火柴棒
  • 小甲鱼《零基础学习Python》课后笔记(三十三):异常处理——你不可能总是对的2

    测试题 0.我们使用什么方法来处理程序中出现的异常? 使用try方法,包括try-except语句和try-finally语句。 ①try-except

    小火柴棒
  • python入门(三)判断语句

    python中的常用判断语句if....elif....else,while if if的用法:

    用户2398817
  • Android 一起来看看面试必问的消息机制

    Android 消息机制的主要是指的是 Handler 的运行机制以及 Handler 所附带的 MessageQueue 和 Looper 的工作过程,这三者...

    developerHaoz
  • 修改alertmanager默认告警邮件中的url地址

    我们点击 “View in AlertManager ”的时候,会调到以alertmanager的主机名的url地址上,这样会出现各种异常(如打不开这个网址)

    二狗不要跑
  • 女神叫我修电脑——(二)

    那么今天龙先森就来帮助大家了却心结吧,组策略编辑器,可谓是人人都想用的好东西。那么,我们的电脑买来时一般都是家庭中文版,而组策略编辑器一般的在专业版的系统中才有...

    BessCroft
  • 从AI加速器,看腾讯ToB生态的点、线与面

    几天前,已经到第三期的腾讯AI加速器在北京搞了个复试,1500个初试项目中选出的150个项目争夺最终的50个位置,参与项目覆盖医疗、智慧城市、金融、政务、工业等...

    用户2908108
  • 看Jetson NANO如何变成“蜘蛛侠”

    自从NVIDIA发布了开源智能小车JetBot项目后,各路创客开始脑洞大开,比如这个:

    GPUS Lady
  • okhttp——BridgeInterceptor

    okhttp的网络请求采用interceptors链的模式。每一级interceptor只处理自己的工作,然后将剩余的工作,交给下一级interceptor。本...

    Oceanlong

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动