Python_02-控制语句
目录:
1 控制结构...
1.1 分支语句...
1.1.1 if语句的嵌套...
1.2 for循环...
1.2.1 Python 循环中的控制语句...
1.3 while循环语句...
1.3.1 举例...
1 控制结构
Python支持三种不同的控制结构:if,for和while,不支持C语言中的switch语句。
1.1 分支语句
格式:
if EXPRESSION1:
STATEMENT1
elif EXPRESSION2:
STATEMENT2
else:
STATEMENT3
if <条件> :
<if块>
else :
<else 块>
说明: <条件>不需加括号,例如a==b即可,但后面却有一个冒号是不可少的“:”;
else后也有一个冒号“:”。
<if块>、<else 块>要以缩进的格式书写,因为python中,缩进量相同的是同一块。这与C语言的一对大括号{}不同。
if语句用来检验一个条件, 如果<条件>为真,我们运行一块语句(称为 if-块 ), 否则 我们处理另外一块语句(称为 else-块 )。 else 从句是可选的。
示例1
score=int(input())
if score<60:
print("D")
elif score<80:
print("C")
elif score<90:
print("B")
else:
print("A")
示例2
# if elif else语句
score = int(input("score:"))
if(score >= 90) and (score <= 100):
print ("A")
elif(score >= 80) and (score < 90):
print( "B")
elif(score >= 60) and (score < 80):
print ("C")
else:
print ("D")
1.1.1 if语句的嵌套
编写条件语句时,应该尽量避免使用嵌套语句。嵌套语句不便于阅读,而且可能会忽略一些可能性。
例子:
x = -1
y = 99
if(x >= 0):
if(x > 0): #嵌套的if语句
y = 1
else:
y = 0
else:
y = -1
print ("y =", y)
如何实现类似switch语句功能:
http://blog.csdn.net/lynn_yan/article/details/5464911
1.2 for循环
格式:
for <循环变量> in <序列> :
<循环体>
示例1:
mylist = "for statement"
for cc in mylist:
print(cc)
else: #最终执行
print("End list")
示例2:
#!/usr/bin/python for letter in 'Python': # First Example
print 'Current Letter :', letter fruits = ['banana', 'apple', 'mango']
for fruit in fruits: # Second Example
print 'Current fruit :', fruit print "Good bye!"
1.2.1 通过序列索引迭代
另外一种执行循环的遍历方式是通过索引,如下实例:
#!/usr/bin/python
fruits = ['banana', 'apple', 'mango']
for index in range(len(fruits)):
print ('Current fruit :', fruits[index])
print( "Good bye!")
以上实例输出结果:
Current fruit : banana
Current fruit : apple
Current fruit : mango
Good bye!
以上实例我们使用了内置函数 len() 和 range(),函数 len() 返回列表的长度,即元素的个数。 range返回一个序列的数。
函数range()是一个内置函数:生成某个范围内的数字列表。
例如:
range(1,6)就会生成[1,2,3,4,5]这样一个列表,
range(8)会生成[0,1,2,3,4,5,6,7]这样一个列表。
示例:
for i in range(1,5,1):
print(i)
它在一序列的对象上递归,即逐一使用队列中的每个项目,对每个项目执行一次循环体。
应用中常用的格式是
for <循环变量> in range(N1, N2, N3) :
<循环体>
其中,N1表示起始值,N2表示终止值,N3表示步长。<循环变量>依次取从N1开始,间隔N3,到N2-1终止的数值,执行<循环体>。
当然可以有嵌套循环,比如说有一个列表list=['China','England','America'],要遍历输出每个字母。
实现:
list=['China','England','America']
for i in range(len(list)):
word=list[i]
for j in range(len(word)):
print (word[j] )
例如:
for i in range(1, 10,3):
print(i)
print ('The for loop is over' )
结果为:
C:\Python31>python for.py
1
4
7
The for loop is over
在这个程序中,打印了一个序列的数,而这个序列是使用内建的range函数生成的。例如,range(1,5)给出序列[1, 2, 3, 4]。默认地,range的步长为1。range(1,10,3)给出[1,4,7]。range 向上 延伸到第二个数,但不包含第二个数。
for循环在这个范围内递归——for i in range(1,10,3)等价于for i in [1, 4, 7],这就如同把序列中的每个数(或对象)赋值给i,然后一次对每个i的值执行这个程序块。
最后加一点,Python中的for和while循环都可以加else子句,else子句在整个循环执行条件不符合时执行(这种用法现在一般用得比较少了)。
#这两段循环功能完全相同
count=5
while count>0:
print ('i love python')
count=count-1
else:
print ('over')
count=5
while count>0:
print ('i love python')
count=count-1
print ('over')
1.2.2 Python 循环中的控制语句
①break
break语句与C语言中的一样,跳出最近的for或while循环。
②continue
continue语句同样是从 C 语言借用的, 它终止当前迭代而进行循环的下一次迭代。
③pass
pass语句什么都不做,它只在语法上需要一条语句但程序不需要任何操作时使用。pass语句是为了保持程序结构的完整性。
④else子句
在循环语句中还可以使用else子句,else子句在序列遍历结束(for语句)或循环条件为假(while语句)时执行,但循环被break终止时不执行。如下所示:
例子:
# 循环结束执行else子句
for i in range(2, 11):
print(i)
else:
print('for statement is over.')
# 被break终止时不会执行else子句
for i in range(5):
if(i == 4):
break;
else:
print(i)
else:
print('for statement is over') # 不会输出
1.3 while循环语句
while <条件>:
<循环体>
注意,<条件>后有一个冒号,<循环体>要使用缩进的格式。while语句的功能是党<条件>成立(为真)时,执行循环体,然后再次检验<条件>,如果成立,再次执行循环体,直到<条件>不再成立,然后执行后面的程序。
1.3.1 举例
a = 0
while a < 5:
a = a + 1
print (a)
else:
print ("a's value is five")
例子:
count=5
while count>0:
count=count-1
if count==3:
continue
print ("i love python!" )
>>>
i love python!
i love python!
i love python!
i love python!
Python_02-控制语句的更多相关文章
- Linux Shell 流程控制语句
* 本文主要介绍一些Linux Shell 常用的流程控制语句* 1. if 条件语句:if-then/if-elif-fi/if- else-fi if [条件判断逻辑1];then command ...
- 使用变量 数据类型转换 逻辑控制语句(begin ...end; case...end; if...else; while)
一:变量 变量分为局部变量和全局变量 (全局变量是系统自定的,是不可手动给值的,若想自己定义全局变量可考虑创建全局临时表!) 局部变量的定义: declare @变量名 数据类型 (局部变量只能 ...
- Sql Server系列:数据控制语句
数据控制语句用来设置.更改用户或角色的权限,包括GRANT.DENY.REVOKE等语句. GRANT用来对用户授予权限,REVOKE可用于删除已授权的权限,DENY用于防止主体通过GRANT获得特定 ...
- 8-04流程控制语句BEGIN ..END
流程控制语句: 是用来控制程序流程的语句. 常用的流程控制语句的分类: 顺序结构:BEGIN...END 分支结构: IF ..ELSE 或CASE ..END 循环结构:WHILE 顺序结构 语法 ...
- javaScript条件控制语句
当某段代码的执行,需要首先满足某些条件时,我们就需要用到条件控制语句.判断条件是否满足,满足条件才去执行某些代码. 如判断数组中值等于条件值时,将这个值从数组中删除 a.switch <scri ...
- JAVA 1.7 流程控制语句 续
1. Java中的循环控制语句一共有3种,分别是while,do… while以及for循环.2. while循环,形式为:while(布尔表达式){//待执行的代码}3. do…while循环,新式 ...
- JAVA 1.6 流程控制语句
1. 条件运算符(三元表达式),其形式为:type d = a ? b : c; 具体化形式为:int d = 2 < 1 ? 3 : 4;2. 轻量级的文本编辑器:UltraEdit.Edit ...
- 20151013 C# 第一篇 流程控制语句
20151013 流程控制语句: 1.选择语句 if … else if...else 选择语句 if(布尔表达式){ 语句块:} if(布尔表达式){ 语句块1:}else{ 语句块2:} i ...
- Python 3 —— 控制语句
控制语句 1.if if <s>: ... elif <s>: ... else: ... 2 for for e in list .. if <s> break; ...
- java基础3_流程控制语句
一 条件判断 1. 条件运算符(三元表达式) ,其形式为: type d = a ? b : c; 具体化形式为:int d = 2 < 1 ? 3 : 4; 2. 轻量级的文本编辑器:Ultr ...
随机推荐
- show()是非模式窗体. showDialog()是模式窗体.
show()仅仅是显示出来窗口界面而已```也就是和你执行的结果在同一窗口显示```所显示的窗口可以在后台运行```而showDialog()是一个对话框窗口界面```执行结果以新窗口界面出现```不 ...
- (转)OAuth 2.0的设计思路
OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版. 本文对OAuth 2.0的设计思路和运行流程,做一个简明通俗的解释,主要参考材料为R ...
- vim 编辑 windows下的文本时出现乱码, 修改配置后 已解决
最近用VIM 查看一个 WINDOWS下的文本,打开以后发现出现乱码,具体如上图. 最后在网上找到了一个解决方法: 原文地址: https://www.zhihu.com/question/22363 ...
- Spring Model存储值在jsp EL表达式中不能正确显示(原样显示)问题
这几天我搭了一个SpringMvc环境,写了一个Controller,并且Controller里面有一个很简单的映射到jsp页面的方法,如下: 这里的Map<String,String>其 ...
- Windows与.NET Framework、数据库版本对应关系
================== windows XP/server 2003 (.NET Framework与 SQL Server\Oracle) 支持.NET版本:.NET Framewor ...
- Tiny4412 u-boot分析(3)u-boot 引导内核流程
在u-boot中,通过bootm命令启动内核.bootm命令的作用是将内核加载到指定的内存地址,然后通过R0.R1.R2寄存器传递启动参数之后启动内核.在启动内核之前需要对环境做一些初始化工作,主要有 ...
- prisma 集成tidb 安装试用
以前官方提供的ansible 的脚本,现在有了docker的版本,可以方便测试使用 实际完整配置参考 https://github.com/rongfengliang/prisma-tidb 安装ti ...
- FastAdmin 的 captcha 是如何来的?
FastAdmin 的 captcha 是如何来的? 如何打开 FastAdmin 的验证吗? 文件位置 C:\www\fastadmin\application\config.php 改 login ...
- 每日一条 git 命令行:git clone https://xxxxx.git -b 12.0 --depth 1
每日一条 git 命令行:git clone https://xxxxx.git -b 12.0 --depth 1 -b 12.0:分支 12.0 --depth 1:depth 克隆深度,1 为最 ...
- Firefox渗透插件—Web渗透必备工具
1:Firebug Firefox的 五星级强力推荐插件之一,不许要多解释 2:User Agent Switcher 改变客户端的User Agent的一款插件 3:Hackbar 攻城师们的必备工 ...