鱼C论坛

 找回密码
 立即注册
查看: 1912|回复: 0

[技术交流] 《零基础入门学习python》第八讲笔记

[复制链接]
发表于 2017-8-3 22:31:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 longguangyu 于 2017-8-3 23:38 编辑

《008了不起的分支和循环2》

      上节课回顾:如何正确的大飞机?其要点是判断和循环------①判断就是决定该不该做某事,而循环就是持续的做某事;②条件分支的判断用到的是if/else的搭配,而循环是while的运用。

一、小甲鱼考题
100分制,90分以上为A,80~90为B,60~80为C,60以下为D,写一个程序。当输入分数。自动转换为ABCD形式打印。
解决方案一:
socre = int(input('请输入一个分数:'))
if 100 >= score >= 90
   print('A')
if 90 > score >= 80
   print('B')
if 80 > score >= 60
   print('C')
if 60 > score >= 0
   print('D')
if score < 0 or socre > 0
  print('输入错误')
解决方案二:
socre = int(input('请输入一个分数:'))
if 100 >= score >= 90
    print('A')
else:
      if 90 > score >= 80
         print('B')
      else:
            if 80 > score >= 60
               print('C')
            else:
                  if 60 > score >= 0
                     print('D')
                  else:
                        print('输入错误')
解决方案三:
socre = int(input('请输入一个分数:'))
if 100 >= score >= 90
   print('A')
elif 90 > score >= 80
   print('B')
elif 80 > score >= 60
   print('C')
elif 80 > score >= 0
   print('D')
else:
      print('输入错误')
比较哪一种方案更好一些??
       方案一中因为if的条件都是平行的,会产生多余的判断,占用内存时间,比如当输入分数98,打印出A后,程序还会继续去执行余下的条件判断;
方案二和三,比较简洁。

二、python可以有效避免"悬挂else"
1、什么叫"悬挂else"?
2、举例说明
if (hi > 2)
    if(hi > 7)
       printf('好棒!')
else:
      printf('切~')
     初学C语言容易被上边代码欺骗,在这个例子之中else是想与外层的if相配,事实上按照C语言就近原则,else是与内层的if相配,而python的缩进可以有效避免这个问题。


三、条件表达式(三元操作符)
1、平常所说的“XX元操作符”又可以读作“XX目操作符”。
2、说“XX元操作符”的意思是指这个操作符有XX个操作数,例如赋值号“=”,有两个操作数,就是二元操作符;当减号当作负号用时,就是一元操作符。
3、三元操作符语法: x  if 条件  else  if
举例:
x,y = 4,5
if x < y
   samll = x
else:
  samll = y
改进
samll = x if x < y else if

四、断言(assert)
1、assert这个关键字称为“断言”当这个关键字后面的条件为假时候,程序自动崩溃并抛出AssertionError的异常。
2、assert是条件分支的近亲,什么情况需要assert?当我们检测程序时用到,与其让错误的条件让后面的程序出现莫名的崩溃,不如在错误条件出现的瞬间自爆。
3、一般来说可以用assert在程序中置入检查点,当需要确保程序中某个条件一定为真才能让程序正常工作的话,assert关键字就非常有用了。
举例:
QQ截图20170803233827.png



评分

参与人数 1鱼币 +9 收起 理由
小甲鱼 + 9 支持楼主!

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-28 06:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表