目录: 

1         控制结构... 

1.1      分支语句... 

1.1.1   if语句的嵌套... 

1.2      for循环... 

1.2.1   Python 循环中的控制语句... 

1.3      while循环语句... 

1.3.1   举例... 

 

 

1       控制结构

Python支持三种不同的控制结构:ifforwhile,不支持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中的forwhile循环都可以加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语言中的一样,跳出最近的forwhile循环。

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-控制语句的更多相关文章

  1. Linux Shell 流程控制语句

    * 本文主要介绍一些Linux Shell 常用的流程控制语句* 1. if 条件语句:if-then/if-elif-fi/if- else-fi if [条件判断逻辑1];then command ...

  2. 使用变量 数据类型转换 逻辑控制语句(begin ...end; case...end; if...else; while)

    一:变量 变量分为局部变量和全局变量  (全局变量是系统自定的,是不可手动给值的,若想自己定义全局变量可考虑创建全局临时表!) 局部变量的定义:  declare @变量名  数据类型 (局部变量只能 ...

  3. Sql Server系列:数据控制语句

    数据控制语句用来设置.更改用户或角色的权限,包括GRANT.DENY.REVOKE等语句. GRANT用来对用户授予权限,REVOKE可用于删除已授权的权限,DENY用于防止主体通过GRANT获得特定 ...

  4. 8-04流程控制语句BEGIN ..END

     流程控制语句: 是用来控制程序流程的语句. 常用的流程控制语句的分类: 顺序结构:BEGIN...END 分支结构: IF ..ELSE 或CASE ..END 循环结构:WHILE 顺序结构 语法 ...

  5. javaScript条件控制语句

    当某段代码的执行,需要首先满足某些条件时,我们就需要用到条件控制语句.判断条件是否满足,满足条件才去执行某些代码. 如判断数组中值等于条件值时,将这个值从数组中删除 a.switch <scri ...

  6. JAVA 1.7 流程控制语句 续

    1. Java中的循环控制语句一共有3种,分别是while,do… while以及for循环.2. while循环,形式为:while(布尔表达式){//待执行的代码}3. do…while循环,新式 ...

  7. JAVA 1.6 流程控制语句

    1. 条件运算符(三元表达式),其形式为:type d = a ? b : c; 具体化形式为:int d = 2 < 1 ? 3 : 4;2. 轻量级的文本编辑器:UltraEdit.Edit ...

  8. 20151013 C# 第一篇 流程控制语句

    20151013 流程控制语句: 1.选择语句 if … else if...else 选择语句 if(布尔表达式){  语句块:} if(布尔表达式){  语句块1:}else{  语句块2:} i ...

  9. Python 3 —— 控制语句

    控制语句 1.if if <s>: ... elif <s>: ... else: ... 2 for for e in list .. if <s> break; ...

  10. java基础3_流程控制语句

    一 条件判断 1. 条件运算符(三元表达式) ,其形式为: type d = a ? b : c; 具体化形式为:int d = 2 < 1 ? 3 : 4; 2. 轻量级的文本编辑器:Ultr ...

随机推荐

  1. HDU - 4676 :Sum Of Gcd (莫队&区间gcd公式)

    Given you a sequence of number a 1, a 2, ..., a n, which is a permutation of 1...n. You need to answ ...

  2. 抽取JDBCTemplate

    抽取JDBCTemplate 为了解决DAO实现类中代码的重复问题,另外使得代码更通用,所以抽取一个公共的模板,使其更具有通用性. DAO实现类的代码 public class StudentDAOI ...

  3. ambassador 学习七 Mapping说明

    mapping 通过rest 资源与k8s 的service进行关联,ambassador 必须有一个或者多个提供访问servide 的mapping定义 mapping 可以包含的配置 rewrit ...

  4. 打造基于jQuery的智能选择输入框

    UPDATE:修正了在FireFox下显示的问题,重新copy CSS即可 写完这个名字忽然觉得有点标题党的嫌疑,但是又不知道什么样的名字比较合适,那就暂且这样吧. 今天要讲的东西比较简单,其中会用到 ...

  5. eclipse中点不出来提示

    当在用eclipse或是myeclipse时,可能会遇到不能自动提示,就是当你用到点的时候,后面不会出现相关的提示信息.这时,解决方法如下 : 1.菜单window->Preferences-& ...

  6. Java多线程编程核心技术,第六章

    1,饿汉模式/单例模式,一开始就新建一个静态变量,后面用getInstance()都是同一个变量 2,懒汉模式/单例模式,在getInstance()才会new一个对象,在第一个有了后不会继续创建 3 ...

  7. opencv中读取显示图像

    opencv是个开源的图像处理的库,小到基本的图像处理函数,如图像移动放大缩小,大到人脸识别,部分机器学习的知识,所以是个学习的不错的库.之前有图像处理的知识,这次再学习下这个开源库. 先上基础的图像 ...

  8. Oracle SYS_CONTEXT用法

    1. USERENV(OPTION) 返回当前的会话信息. OPTION='ISDBA'若当前是DBA角色,则为TRUE,否则FALSE. OPTION='LANGUAGE'返回数据库的字符集. OP ...

  9. 黄聪:WordPress实现HTML5预加载

    WordPress实现HTML5预加载方法很简单,把下面代码: <?php if (is_archive() && ($paged > 1) && ($pa ...

  10. Accept Job Offer Email Template

    Accept Job Offer Email Template <Date> <Hiring Manager’s name> <Company name> < ...