学习python分支结构

来源:中文源码网    浏览: 次    日期:2019年11月5日

【下载文档:  学习python分支结构.txt 】

(友情提示:右键点上行txt文档名->目标另存为)

学习python分支结构分支结构的应用场景迄今为止,我们写的Python代码都是一条一条语句顺序执行,这种结构的代码我们称之为顺序结构。然而仅有顺序结构并不能解决所有的问题,比如我们设计一个游戏,游戏第一关的通关条件是玩家获得1000分,那么在完成本局游戏后我们要根据玩家得到分数来决定究竟是进入第二关还是告诉玩家“Game Over”,这里就会产生两个分支,而且这两个分支只有一个会被执行,这就是程序中分支结构。类似的场景还有很多,给大家一分钟的时间,你应该可以想到至少5个以上这样的例子,赶紧试一试。

if语句的使用在Python中,要构造分支结构可以使用if、elif和else关键字。所谓关键字就是有特殊含义的单词,像if和else就是专门用于构造分支结构的关键字,很显然你不能够使用它作为变量名(事实上,用作其他的标识符也是不可以)。下面的例子中演示了如何构造一个分支结构。

"""

用户身份验证Version: 0.1

Author: 骆昊

"""username = input('请输入用户名: ')

password = input('请输入口令: ')

# 如果希望输入口令时 终端中没有回显 可以使用getpass模块的getpass函数

# import getpass

# password = getpass.getpass('请输入口令: ')

if username == 'admin' and password == '123456':

print('身份验证成功!')

else:

print('身份验证失败!')唯一需要说明的是和C/C++、Java等语言不同,Python中没有用花括号来构造代码块而是使用了缩进的方式来设置代码的层次结构,如果if条件成立的情况下需要执行多条语句,只要保持多条语句具有相同的缩进就可以了,换句话说连续的代码如果又保持了相同的缩进那么它们属于同一个代码块,相当于是一个执行的整体。

当然如果要构造出更多的分支,可以使用if…elif…else…结构,例如下面的分段函数求值。

$$f(x)=\begin{cases} 3x-5&\text{(x>1)}\x+2&\text{(-1}\leq\text{x}\leq\text{1)}\5x+3&\text {(x"""

分段函数求值 3x - 5 (x > 1)

f(x) = x + 2 (-1 <= x <= 1)

5x + 3 (x < -1)Version: 0.1

Author: 骆昊

"""x = float(input('x = '))

if x > 1:

y = 3 * x - 5

elif x >= -1:

y = x + 2

else:

y = 5 * x + 3

print('f(%.2f) = %.2f' % (x, y))当然根据实际开发的需要,分支结构是可以嵌套的,例如判断是否通关以后还要根据你获得的宝物或者道具的数量对你的表现给出等级(比如点亮两颗或三颗星星),那么我们就需要在if的内部构造出一个新的分支结构,同理elif和else中也可以再构造新的分支,我们称之为嵌套的分支结构,也就是说上面的代码也可以写成下面的样子。

"""

分段函数求值

3x - 5(x > 1)

f(x) =x + 2(-1 <= x <= 1)

5x + 3(x < -1)Version: 0.1

Author: 骆昊

"""x = float(input('x = '))

if x > 1:

y = 3 * x - 5

else:

if x >= -1:

y = x + 2

else:

y = 5 * x + 3

print('f(%.2f) = %.2f' % (x, y))

**说明:**大家可以自己感受一下这两种写法到底是哪一种更好。在之前我们提到的Python之禅中有这么一句话“Flat is better than nested.”,之所以提出这个观点是因为嵌套结构的嵌套层次多了之后会严重的影响代码的可读性,如果可以使用扁平化的结构就不要去用嵌套,因此之前的写法是更好的做法。练习1:英制单位与公制单位互换

"""

英制单位英寸和公制单位厘米互换Version: 0.1

Author: 骆昊

"""value = float(input('请输入长度: '))

unit = input('请输入单位: ')

if unit == 'in' or unit == '英寸':

print('%f英寸 = %f厘米' % (value, value * 2.54))

elif unit == 'cm' or unit == '厘米':

print('%f厘米 = %f英寸' % (value, value / 2.54))

else:

print('请输入有效的单位')练习2:掷骰子决定做什么

"""

掷骰子决定做什么事情Version: 0.1

Author: 骆昊

"""from random import randintface = randint(1, 6)

if face == 1:

result = '唱首歌'

elif face == 2:

result = '跳个舞'

elif face == 3:

result = '学狗叫'

elif face == 4:

result = '做俯卧撑'

elif face == 5:

result = '念绕口令'

else:

result = '讲冷笑话'

print(result)

**说明:**上面的代码中使用了random模块的randint函数生成指定范围的随机数来模拟掷骰子。练习3:百分制成绩转等级制

"""

百分制成绩转等级制成绩

90分以上 --> A

80分~89分 --> B

70分~79分 --> C

60分~69分 --> D

60分以下 --> EVersion: 0.1

Author: 骆昊

"""score = float(input('请输入成绩: '))

if score >= 90:

grade = 'A'

elif score >= 80:

grade = 'B'

elif score >= 70:

grade = 'C'

elif score >= 60:

grade = 'D'

else:

grade = 'E'

print('对应的等级是:', grade)练习4:输入三条边长如果能构成三角形就计算周长和面积

"""

判断输入的边长能否构成三角形

如果能则计算出三角形的周长和面积Version: 0.1

Author: 骆昊

"""import matha = float(input('a = '))

b = float(input('b = '))

c = float(input('c = '))

if a + b > c and a + c > b and b + c > a:

print('周长: %f' % (a + b + c))

p = (a + b + c) / 2

area = math.sqrt(p * (p - a) * (p - b) * (p - c))

print('面积: %f' % (area))

else:

print('不能构成三角形')练习5:个人所得税计算器。

"""

输入月收入和五险一金计算个人所得税Version: 0.1

Author: 骆昊

"""salary = float(input('本月收入: '))

insurance = float(input('五险一金: '))

diff = salary - insurance - 3500

if diff <= 0:

rate = 0

deduction = 0

elif diff < 1500:

rate = 0.03

deduction = 0

elif diff < 4500:

rate = 0.1

deduction = 105

elif diff < 9000:

rate = 0.2

deduction = 555

elif diff < 35000:

rate = 0.25

deduction = 1005

elif diff < 55000:

rate = 0.3

deduction = 2755

elif diff < 80000:

rate = 0.35

deduction = 5505

else:

rate = 0.45

deduction = 13505

tax = abs(diff * rate - deduction)

print('个人所得税: ¥%.2f元' % tax)

print('实际到手收入: ¥%.2f元' % (diff + 3500 - tax))

亲,试试微信扫码分享本页! *^_^*

python分支结构的关键字_学习python分支结构相关推荐

  1. 学python的有哪些好书_学习python有哪些好书和学习方法?

    不请自来~ 上干货 <Python数据分析>作者: [印尼]Ivan Idris Python是一种多范型编程语言,既适用于面向对象的应用开发,又适合函数式设计模式.Python已经成为数 ...

  2. python元组的定义方式_学习Python元组,有哪些必须要掌握的内容

    展开全部 学习Python元组2113,有哪些必须要掌握的5261内容? 1.Python元组4102 定义 元组是Python的一种内建数据结构.1653关于元组: 1.元组属于序列,可以存放任意元 ...

  3. python软件是什么样的_学习python,用什么软件?

    语法简洁明了:相对 Ruby 和 Perl,它的语法特性不多不少,大多数都很简单直接,不玩儿玄学. 切入点很多:Python 可以让你可以做很多事情,科学计算和数据分析.爬虫.Web 网站.游戏.命令 ...

  4. python学起来好难受_学习 Python 很吃力,我是不是可以放弃编程了?

    从0到1,是最艰难吃力的一步. 我15年的时候,在其它论坛发过一篇帖子,也是零基础开始学Python的.阅读量挺高的. 希望对题主有帮助. 使用前说明: 本人大学专业是CS,大学的时候编程很差,毕业后 ...

  5. 学python需要记得的单词_学习Python必背的初级单词有哪些?

    今天小编要跟大家分享一些学习Python必须认识的英文单词,同时也是学习编程都必须会的单词,下面来和小编一起学习一下吧! application 应用程式 应用.应用程序 application fr ...

  6. python的三大错误类型_学习Python时要避免的三个错误

    当你做错事时,承认错误并不是一件容易的事,但是犯错是任何学习过程中的一部分,无论是学习走路,还是学习一种新的编程语言都是这样,比如学习 Python. 为了让初学 Python 的程序员避免犯同样的错 ...

  7. 学习python可以从事哪些工作_学习Python可以从事哪些工作呢?

    相比其他编程语言,Python虽然起步较晚,但随着人工智能时代的到来以及国家政策的支持得到迅猛发展.很多的知名企业都或多或少的使用Python进行开发,对于Python开发人才的需求也一直居高不下.为 ...

  8. python 股票自动交易助手_学习 Python 看这一篇就够了!

    2019.08.05 「Python 技术」公众号发出了第一篇文章,时至今日,已经快一年了.期间我们累积发文 260+ 篇,52 周除去周末我们基本做到了日更,这一路走来磕磕碰碰有太多的不容易,会有为 ...

  9. python可以数独游戏吗_学习python编程如何一键做出数独游戏答案 | k12教育网

    在学习python编程如何一键做出数独游戏答案之前,我们需要知道什么是Python? Python指的是Python编程语言(用于编写被认为是有效Python代码的语法规则)和Python解释器软件, ...

最新文章

  1. 产品经理怎么样用图表传达数据信息(多图)
  2. HD 1176 免费馅饼 (DP)
  3. Eclipse设置字体大小等!
  4. Mysql报错130_mysql 突然报错,连接不上
  5. STL之Vector(Linux内核)完整实现
  6. python读取pdf表格数据代码_Python新工具:用三行代码提取PDF表格数据
  7. 破坏计算机系统信息罪司法解释,破坏计算机信息系统罪司法解释是怎样的的呢?...
  8. 卫星轨道的估计问题(Matlab)(一):理论基础
  9. Windows Server 2016 安装OpenSSH Server,并设置密钥
  10. fastDFS引入jar包后日志冲突
  11. 修复SSH Weak Algorithms Supported漏洞
  12. python vtk_Python vtk.vtkRenderer方法代码示例
  13. freessl申请ssl证书-笔记
  14. 用u盘装linux系统黑屏,u盘启动黑屏 u盘装系统启动不了黑屏咋办
  15. 经典搜索算法之B树与B+树
  16. MATLAB---读取STL文件并解析
  17. 让沟通更高效的职场礼物,讯飞智能录音笔SR502值得入手
  18. 关于Android中的画笔画画
  19. jQuery-获取/设置 属性(标准属性,自定义属性)和内容
  20. HDU 5976 Detachment 逆元

热门文章

  1. 看书好还是看视频好?
  2. LoadRunner技巧之集合点设置
  3. Nginx一次奇怪的502 报错
  4. selenium实战之斗鱼弹幕
  5. 速锐得解码TANK300烈马应用前大灯随动转向车灯照明系统DEMO
  6. 团体天梯 L3-008 喊山 (30 分)
  7. const关键字的精辟总结
  8. 普洱茶冲泡|你的茶器选对了吗?
  9. svn服务器会用到哪些端口_在阿里云服务器上搭建svn和打开svn的端口
  10. 如何使用SCQA模型提高表达能力