鱼C论坛

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

[技术交流] 《零基础入门学习Python》学习笔记007了不起的分支循环

[复制链接]
发表于 2017-7-17 17:03:26 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 six_mao 于 2017-7-17 17:36 编辑

分支和循环
编程语言都应该拥有分支和循环。从打飞机来讲:
进入游戏,其实就是进入了一个循环之中,如果在游戏中没有触发死亡机制,敌机一直在产生就说明一直在一个循环之中。
分支就是使用if做判断,条件满足做何种事情,条件不满足做何种事情。
打飞机游戏参考框架:
  1. 加载背景音乐
  2. 播放背景音乐(设置单曲循环)
  3. 我方飞机诞生
  4. interval = 0

  5. while True:
  6.     if 用户是否点击了关闭按钮:
  7.         退出程序
  8.    
  9.     interval += 1
  10.     if interval == 50:
  11.         interval = 0
  12.         小飞机诞生

  13.     小飞机移动一个位置
  14.     屏幕刷新
  15.    
  16.     if 用户鼠标产生移动:
  17.         我方飞机中心位置 = 用户鼠标位置
  18.         屏幕刷新
  19.         
  20.     if 我方飞机与小飞机发生肢体冲突:
  21.         我方挂,播放撞机音乐
  22.         修改我方飞机图案
  23.         打印“Game over”
  24.         停止背景音乐,最后淡出
复制代码


课堂小练习:按照100分制,90分以上成绩为A,80~90为B,60~80为C,60以下为D。

第一种:
  1. temp = input("请输入一个分数:")
  2. score = int(temp)

  3. if 100 >= score >= 90:
  4.     print("A")
  5. if 90 > score >= 80:
  6.     print("B")
  7. if 80 >score >= 60:
  8.     print("C")
  9. if 60 > score >= 0:
  10.     print("D")
  11. else:
  12.     print("输入有误")
复制代码


第二种:
  1. temp = input("请输入一个分数:")
  2. score = int(temp)

  3. if 100 >= score >= 90:
  4.     print("A")
  5. else:
  6.     if 90 > score >= 80:
  7.         print("B")
  8.     else:               
  9.         if 80 >score >= 60:
  10.             print("C")
  11.         else:
  12.             if 60 > score >= 0:
  13.                 print("D")
  14.             else:
  15.                 print("输入有误")
复制代码


第三种:
  1. temp = input("请输入一个分数:")
  2. score = int(temp)

  3. if 100 >= score >= 90:
  4.     print("A")
  5. else:
  6.     if 90 > score >= 80:
  7.         print("B")
  8.     else:               
  9.         if 80 >score >= 60:
  10.             print("C")
  11.         else:
  12.             if 60 > score >= 0:
  13.                 print("D")
  14.             else:
  15.                 print("输入有误")
复制代码


结果分析:
第一种,会判断多次判断有几个if就需要做几次判断。
第二种和第三种是只要判断成立就不需要再做判断。另外Python可以避免“悬挂else”,这也要求对Python缩进的正确使用。

条件表达式(三元操作符)
”多少元“操作符的意思是这个操作符有多少个操作数。
那来看看三元操作符的庐山真面目吧!
三元操作符语法:a = x if 条件 else y
表示当条件为True的时候,a的值赋值为x,否则赋值为y。

断言(assert)

assert这个关键字称为“断言”,当这个关键字后面的条件为假的时候,程序自动崩溃并抛出AssertionError的异常。
当我们在测试的时候经常使用。一般来说,可以用它在程序中置入检查点,当需要确保程序在某个条件一定为真才能让程序正常工作,assert关键字就非常有用了。

while循环语句

while语句与if条件分支类似。
语法
  1. while 条件:
  2.     循环体
复制代码


for循环语句

它比较C语言的for循环更加强大,主要表现在它会自动调用迭代器的next()方法,会自动捕获StopIteration异常并结束循环。例子:
  1. >>> favourite = "Fishc"
  2. >>> for each in favourite:
  3.         print(each, end = " ")

  4.        
  5. F i s h c
复制代码


for循环还有一个好伙伴:range()内建函数
语法:
  1. range([start,]stop[,step = 1])
复制代码


其中中括号中的两个函数是可选的,range()这个BIF的作用是生成一个start参数的值开始(默认设置为0),到stop参数结束数字序列(序列中不包括stop参数),可以理解为一个左闭右开的区间,step表示步长(默认为1)。例子:
  1. >>> for i in range(1,10,2):
  2.         print(i)

  3.        
  4. 1
  5. 3
  6. 5
  7. 7
  8. 9
  9. >>>
复制代码


break语句
break语句的作用是终止当前循环,跳出循环体。

continue语句

continue语句的作用是终止本轮循环并开始下一轮循环。给一个例子:
  1. for i in range(10):
  2.     if i % 2 != 0:
  3.         print(i)
  4.         continue
  5.     i += 2
  6.     print(i)
复制代码


课后作业整理:
[007]4.成员资格运算符,用于检查一个值是否在序列中,在返回True,不在返回False。

评分

参与人数 1鱼币 +4 收起 理由
小甲鱼 + 4

查看全部评分

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 12:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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