python程序流程控制_python流程控制
计算机程序在解决某个具体问题时,包括三种情形,即顺序执行所有的语句、选择执行部分的语句和循环执行部分语句,这正好对应着程序设计中的三种程序执行结构流程:顺序结构、选择结构和循环结构。
事实证明,任何一个能用计算机解决的问题,只要应用这三种基本结构来写出的程序都能解决。Python语言当然也具有这三种基本结构。
一、选择结构(if语句)
1、if语句的结构:
if <条件1>:
<语句1>
elif <条件2>:
<语句2>
else:
<语句3>
此时,条件1成立时执行语句1,;条件2成立时执行语句2;条件1和条件2都不成立时执行语句3。
实例:
x = int(input("请输入您的总分:"))if x >= 90:print('优')elif x>=80:print('良')elif x >= 70:print('中')elif x >= 60:print('合格')else:print('不合格')
需要注意的是:在使用多个elif语句的分支结构时,应把握好多个条件语句之间的关系。只要有一个条件成立,就会将其后的语句执行,执行后退出整个if语句。
实例:
x = int(input("请输入您的总分:"))if x >= 90:print('优')elif x>=80:print('良')elif x >= 60:print('合格')elif x >= 70:print('中')else:print('不合格')
此时程序中的print('中')语句永远不会执行,因为当输入[70,80)这个区间的数时先判断x>=60成立,则执行其后的语句并输出合格,之后退出if语句。
2、三元运算符
if语句可以使用在一个单语句中,实现三元运算符,基本形式:<表达式1> if <条件> else <表达式2>
3、if语句的嵌套
if<条件>:
if<条件>:
<语句1>
elif<条件>:
<语句2>:
else:
<语句3>
编写条件语句时,应该尽量避免使用嵌套语句。嵌套语句不便于阅读,而且可能会忽略一些可能性。
二、for循环语句
1、for语句的结构:
Python语言中的for语句与其他高级程序设计语言有很大的不同,其他高级语言for语句要用循环控制变量来控制循环。Python中for语句是通过循环遍历某一序列对象(字符串、列表、元组等)来构建循环,循环结束的条件就是对象被遍历完成。
for语句的形式如下:
for <循环变量> in <循环对象>:
<语句1>
else:
<语句2>
else语句中的语句2只有循环正常退出(遍历完所有遍历对象中的值)时执行。
实例:
for num in range(10,20):for i in range(2,num):if num % i ==0:
j= num/iprint("%d等于%d*%d" %(num,i,j))break
else:print("%d是一个质数" % num)
2、range()函数
for语句的循环对象可以是列表、元组以及字符串,可以通过range()函数产生一个迭代值,以完成计数循环。
range( [start,] stop [, step])
实例:
>>> for i in range(5):print(i)
01
2
3
4
>>> for i in range(0,10,3):print(i)
03
6
9
for语句使用range()函数可以构建基于已知循环次数的循环程序,也可以以range()生成的数字作为索引来访问列表、元组、字符串中的值。
需要注意的是,range() 函数返回的对象表现为它是一个列表,但事实上它并不是,range()函数并不是在调用时一次生成整个序列,而是遍历一次才产生一个值,以减少内存的占用,其本质是一个迭代器。
如:
>>> range(10)
range(0,10)>>> type(range(10))
>>> list(range(10))
[0,1, 2, 3, 4, 5, 6, 7, 8, 9]
三、while循环语句
for语句以遍历对象的方式构造循环,有时却需要构造一种类似无限循环的程序控制结构或某种不确定运行次数的循环,就需要使用while语句
1、while语句结构:
while语句的基本形式如下:
while<条件>:
<语句1>
else:
<语句2>
与for循环不同的是,while语句只有在测试条件为假时才会停止。
实例:
count =0while count < 5:print(count, "is less than 5")
count= count + 1
else:print(count, "is not less than 5")
四、break语句、continue语句、pass语句
break语句用在while和for循环中,break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。
continue语句用在while和for循环中,continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。 continue 语句跳出本次循环,而break跳出整个循环。
Python pass是空语句,是为了保持程序结构的完整性。pass 不做任何事情,一般用做占位语句。
实例:
for i in range(10):if i%2 ==0:continue
print(i)if i>=7:break
else:print("循环结束")1
3
5
7
python程序流程控制_python流程控制相关推荐
- python程序设计基础电子书_python程序设计基础电子版(python程序设计基础) pdf
python程序设计基础电子版(python程序设计基础)是一款最新打造的python教程书籍.这本书籍详细的讲解了Python语言以及基本方法,由浅入深.循序渐进,对于Python初学者来说本不错的 ...
- python程序运行键_python实现按任意键继续执行程序
在windows下写bat的时候,通过pause命令,可以暂停程序运行,例如经常见的程序会在终端提示"按任意键继续--",用户在终端回车后程序可以接着运行,这个功能有多大用途今天暂 ...
- python程序语法元素分析_Python程序语法元素分析(2)
"u003Cdivu003Eu003Cpu003Eu003Cstrongu003E输入函数u003Cu002Fstrongu003Eu003Cu002Fpu003Eu003Cpu003Ein ...
- python程序运行键_python学习笔记-python程序运行
小白初学python,写下自己的一些想法.大神请忽略. 安装python编辑器,并配置环境(见http://www.cnblogs.com/lynn-li/p/5885001.html中 python ...
- python程序设计基础电子版_Python 程序设计基础(董付国 著)完整版PDF[6MB]
Python 程序设计基础难易程度适中.除Python应用开发基础知识之外,还适当介绍了Python标准库以及内置对象的工作原理,并对Python 2.x和Python 3.x的区别做了深入分析,满足 ...
- python程序员工作时间_Python程序员是怎么找工作的?怎么最快时间找到自己想要的工作?...
前言 从智联招聘爬取相关信息后,我们关心的是如何对内容进行分析,获取用用的信息. 本次以上篇文章"5分钟掌握智联招聘网站爬取并保存到MongoDB数据库"中爬取的数据为基础,分析关 ...
- python程序代码解析_Python源码分析3 – 词法分析器PyTokenizer
Introduction 上次我们分析了Python中执行程序可分为5个步骤: Tokenizer进行词法分析,把源程序分解为Token Parser根据Token创建CST CST被转换为AST A ...
- python 程序耗时记录_Python学校的学生身高记录程序
python 程序耗时记录 A team of 5 people is assigned with a task to record the heights of students in a scho ...
- python程序员培训_Python程序员学习路线图
Python程序员学习路线图,由黄哥python培训授课老师黄哥所写. 参加黄哥python远程视频培训, 帮你完成从不会写代码到会写代码解决问题的过渡. 咨询qq:1465376564 Python ...
- python程序编译错误_Python编译错误集锦
1 IndentationError: expected an indented block Python语言是一款对缩进非常敏感的语言,给很多初学者带来了困惑,即便是很有经验的Python程序员,也 ...
最新文章
- [java]窗口的创建
- C++ union 使用总结
- Handler消息传递机制(一)
- Ubuntu 18.04 安装 MySQL 5.7【解决普通用户登录、密码修改、远程访问等问题】
- HTML5调用redis,redis实现从数据库获取数据添加到html页面上
- jquery设置宽_JavaScript学习笔记(三十二) jQuery(中)
- 训练时发生的错误:Couldn‘t open shared file mapping: <000001910A228862>, error code: <1455>
- 一张图看懂开源许可协议,开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别【转载】
- Android小知识-了解下Android系统的显示原理
- MEF(可扩展框架)使用总结
- 该伙伴事务管理器已经禁止了它对远程/网络事务的支持
- wms智能仓储系统不可缺少?
- 苹果5完美越狱_苹果越狱工具
- JDK与JRE的区别
- Tornado使用模板
- python获取手机号码归属地_基于Python的免费手机号码归属地查询
- html获取 条码枪,获取扫描枪条码
- HJ87 密码强度等级(一把过)
- 外贸版ChatGPT,每天节省5小时开发客户时间,可以用来干这些事情
- C++设计原则——开闭原则(持续更新中)
热门文章
- Java中将List中的值赋给另一个List几种方法实现
- sqlserver2008 获取最后插入的id_Python3操作SQL Server2008数据库
- 美团面试动态规划——整数拆分
- gson生成jsonobject_GSON形式生成和解析json数据
- python定义变量并赋值_Python动态声明变量赋值代码实例
- Cpp / 空指针对象调用函数的不同结果
- 通过TCP调试助手传输数据时的注意事项
- uniapp怎么引入css_Uniapp怎么引入外部js
- 求最大素数的c语言,for语句计算输出10000以内最大素数怎么搞最简单??各位大神们...
- oracle insert 数组,oracle 数组 批量insert