一、Python流程控制

  计算机程序在解决某个具体问题时,包括三种情形,即顺序执行所有的语句、选择执行部分的语句和循环执行部分语句,这正好对应着程序设计中的三种程序执行结构流程:顺序结构选择结构循环结构

  事实证明,任何一个能用计算机解决的问题,只要应用这三种基本结构来写出的程序都能解决。Python语言当然也具有这三种基本结构。

  顺序结构最简单,就是按着写的程序语句一条条按顺序执行,这里不再赘述,今天主要说明选择结构和循环结构。

二、在说明流程控制之前,有必要补充说明下Python的缩进规则  

  Python的一大特色,强制缩进,目的是为了让程序知道,每段代码依赖哪个条件,如果不通过缩进来区分,程序怎么会知道,当你的条件成立后,去执行哪些代码呢?

  在其它的语言里,大多通过{}来确定代码块,比如C,C++,Java,Javascript都是这样。但Python比较独树一帜,依靠强制缩进来区分代码块,这也是Python简洁的地方,所以我们要多加注意。

  Python的缩进有以下几个原则:

  • 顶级代码必须顶行写,即如果一行代码本身不依赖于任何条件,那它必须不能进行任何缩进
  • 同一级别的代码,缩进必须一致
  • 官方建议缩进用4个空格

三、选择结构

  Python中常见的选择结构主要是if...else语句,包括三种,分别是单分支,双分支和多分支。

  1、单分支

    结构:

      if 条件:

        满足条件后执行的代码

    例如:

score = int(input('你的分数:'))
if score > 60:
print('合格')

  2、双分支

    结构:

      if 条件:

        满足条件后执行的代码

      else:

        不满足条件后执行的代码

    例如:

score = int(input('你的分数:'))
if score > 60:
print('合格')
else:
print('不合格')

  3、多分支

    结构:   

      if 条件:

        满足条件后执行的代码

      elif:

        上面条件不满足后执行的代码

      elif:

        上面条件不满足后执行的代码

      else:

        上述所有条件都不满足就走这里

    例如:     

score = float(input("请输入你的分数:"))
if score > 100:
print("你输入的分数不在0到100的范围内。")
elif score>=90 and score<=100:
print("你的等级是:A")
elif score>=80 and score<=89:
print("你的等级是:B")
elif score>=60 and score<=79:
print("你的等级是:C")
elif score>=40 and score<=59:
print("你的等级是:D")
elif score>=0 and score<=39:
print("你的等级是:E")
else:
print("你输入的分数不在0到100的范围内。")

四、循环结构

  Python中常见的选择结构主要是for循环和while循环两大类。

  1、for循环

    Python语言中的for语句与其他高级程序设计语言有很大的不同,其他高级语言for语句要用循环控制变量 来控制循环。Python中for语句是通过循环遍历某一序列对象(字符串、列表、元组等)来构建循环,循环结束的条件就是对象被遍历完成。

    结构:     

         for <循环变量> in <循环对象>:
              <语句1>
         else:
              <语句2>
 
      注意:else语句中的语句2只有循环正常退出(遍历完循环对象中所有的值)时执行。
    例如:
      

range(5)#是列表range = [0,1,2,3,4]的省写,python3的优化,默认从0开始
for i in range(5):
print(i)
print("循环结束!")   
   for语句的循环对象可以是列表、元组以及字符串,可以通过range()函数产生一个迭代值,以完成计数循环。range( start,  stop , step),step表示步长。   
   for语句使用range()函数可以构建基于已知循环次数的循环程序,也可以以range()生成的数字作为索引来访问列表、元组、字符串中的值。
   需要注意的是,range() 函数返回的对象表现为它是一个列表,但事实上它并不是,range()函数并不是在调用时一次生成整个序列,而是遍历一次才产生一个值,以减少内存的占用,其本质是一个迭代器,当我们到迭代器再细讲,这里先挖个“坑”。
   例如:
for i in range(1,10,2): #循环从1开始,到10结束(不包括10),每隔2输出一个
print(i)
print("间隔输出结束!")

  2、while循环

     for语句以遍历对象的方式构造循环,有时却需要构造一种类似无限循环的程序控制结构或某种不确定运行次数的循环,就需要使用while语句。 

     结构1:     

        while<条件>:
                <语句1>
       注意:与for循环不同的是,while语句只有在测试条件为假时才会停止。
     例如:
#打印0到100间的偶数
count = 0
while count<=100:
print("Loop:",count)
count+=2   

     结构2(Python独有):     

        while<条件>:
                <语句1>
       else:
         <语句2> 
 
     注意:while 后面的else 作用是指,当while 循环正常执行完,中间没有被break 中止的话,就会执行else后面的语句。
     例如:    
count = 0
while count <= 5 :
count += 1
print("Loop",count) else:
print("循环正常执行完啦")

    结构3(死循环):

      while True:

        <语句>

     注意:while 是只要后边条件成立(也就是条件结果为真)就一直执行。

    例如:     

count = 0
while True: #True本身就是真呀 print("你是风儿我是沙,缠缠绵绵到天涯...",count) # 友情提示,运行需谨慎

五、循环中止语句

  如果在循环的过程中,因为某些原因,你不想继续循环了,怎么把它中止掉呢?这就用到break 或 continue 语句。

  break 和continue的作用和区别:

  • break用于完全结束一个循环,跳出循环体执行循环后面的语句。
  • continue和break有点类似,区别在于continue只是终止本次循环,接着还执行后面的循环,break则完全终止循环。

  例如:break

count = 0
while count <= 100 : #只要count<=100就不断执行下面的代码
print("loop ", count)
if count == 5:
break
count +=1 #每执行一次,就把count+1,要不然就变成死循环啦,因为count一直是0

  再看例如:continue  

count = 0
while count <= 100 :
count += 1
if count > 5 and count < 95: #只要count在6-94之间,就不走下面的print语句,直接进入下一次loop
continue
print("loop ", count)

六、 选择和循环结构的嵌套使用

  小实例:猜年龄游戏

#!/usr/bin/env python
#-*- coding:utf-8 -*-
# write by congcong count = 0
age = 21
while count <= 3 :
Age = int(input("输入你猜的年龄:"))
if age == Age:
print("You have guessed right!")
break
elif Age > age:
print("Guess smaller!")
else:
print("Guess bigger!")
count += 1
if count == 3:
print("你是否还想玩?(y or n)")
option = input("你的选择:")
if option == "y" and option == "Y":
count = 0
else:
break print("--------End----------")

 

Python基础—流程控制的更多相关文章

  1. python基础-流程控制(if,while,for)

    今日内容总结 --流程控制(if,while,for) if:用来判断事物的对错.真假.是否执行.根据不同的情况判断,条件满足执行某条件下的语句 语法结构(3种) # 第一种,只有if结构.条件表达式 ...

  2. python基础-->流程控制-->分支结构-->单项分支-->双向分支

    # ###流程控制 ''' 流程:代码执行过程 流程控制:对代码执行过程的管控 顺序结构:代码默认从上到下依次执行 分支结构:对代码执行过程的管控 循环机构: while for ..in.... 分 ...

  3. python基础流程控制

    流程控制主要分为三大类: 1.if 判断语句 2.while 循坏语句 3.for 循坏语句 下面以举例说明: if 判断语句: user1 = 'seven' user2 = 'alex' pass ...

  4. Python基础 ----- 流程控制

    ------   条件判断 if 条件判判断语法: 条件判断注意: 1.由if 条件起始 2.关键字后面要加一个空格 3.条件后面接: 4.符合python代码缩进格式 5.条件判断可以有多种组合方式 ...

  5. 小白学 Python(8):基础流程控制(下)

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

  6. Python之流程控制——if...else...

    Python之流程控制--if...else... 一.流程控制 假如把程序比做走路,那我们到现在为止,一直走的都是直路,还没遇到过分岔口.当遇到分岔口时,你得判断哪条岔路是你要走的路,如果我们想让程 ...

  7. Python之流程控制——while循环

    Python之流程控制--while循环 一.语法 while 条件: 执行代码 while就是当的意思,它指当其后面的条件成立,就执行while下面的代码. 例:写一个从0打印到10的程序 coun ...

  8. Java编程基础——流程控制

    Java编程基础——流程控制 摘要:本文主要介绍Java编程中的流程控制语句. 分类 流程控制指的是在程序运行的过程中控制程序运行走向的方式.主要分为以下三种: 顺序结构:从上到下依次执行每条语句操作 ...

  9. python之流程控制升级

    python之流程控制:if elif else  while  for 一.流程控制之if: 1.1为什要有if判断:让计算机能像人一样代替人类工作,那么计算机应该有对于事务的读错,真假,是否可行的 ...

随机推荐

  1. Lua学习---编译生成lua和luac

    众所周知,Lua是一种强大的脚本语言,并且这种语言是用C语言实现的.为什么要学习这门语言?因为它可以增强我看C语言代码的功底. 我下的Lua版本是Lua5.3,关于Lua5.3的简介如下: http: ...

  2. bzoj 2435 道路修建

    Written with StackEdit. Description 在 \(W\) 星球上有 \(n\) 个国家.为了各自国家的经济发展,他们决定在各个国家 之间建设双向道路使得国家之间连通.但是 ...

  3. LG3195 [HNOI2008]玩具装箱TOY

    题意 P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中.P教授有编号为\(1\cdots N\) ...

  4. Cam350导入Allegro的*.rou文件

    如果生产allegro的生产文件有椭圆形钻孔,生成.rou.直接自动导入到cam350是没办法成功的. 以下说说本人的步骤.allegro里面的单位都是mm 在cam350的File-->Imp ...

  5. Oracle终极数据恢复,孰弱孰强(DUL vs AUL)

    这几天在帮朋友作数据恢复,由于已经到了无可救药的地步,只能使用终极手段进行恢复,直接从文件中读取数据进行恢复. 在恢复过程中反复对比了DUL和dcba的AUL,感觉到了两者的不同. DUL在处理文件损 ...

  6. Des加解密(Java端和Js端配套)解析

    一.什么是DES加密        des对称加密,对称加密,是一种比较传统的加密方式,其加密运算.解密运算使用的是同样的密钥,信息的发送者和信息的接收者在进行信息的传输与处理时,必须共同持有该密码( ...

  7. hadoop之 Zookeeper 分布式应用程序协调服务

    (1) Zookeeper 在 Hadoop 集群中的作用 Zookeeper 是分布式管理协作框架,Zookeeper 集群用来保证 Hadoop 集群的高可用,(高可用的含义是:集群中就算有一部分 ...

  8. Linux 简单字符设备驱动

    1.hello_drv.c (1) 初始化和卸载函数的格式是固定的,函数名自定义 (2) printk是内核的打印函数,用法与printf一致 (3) MODULE_LICENSE:模块代码支持开源协 ...

  9. centos7 & ubuntu14.02安装sublime 3

    Centos7安装Sublime Text 3.0正式版 1.安装 GPG 公钥rpm -v --import https://download.sublimetext.com/sublimehq-r ...

  10. VS2010环境下MFC使用DataGrid绑定数据源

    如果MFC的软件中 使用DataGrid控件后,在别的电脑上不能运行行,需要拷贝一个 MSDATGRD.ocx 和msstdfmt.dll  文件在软件的目录中,并写一个批处理文件 reg.dat 文 ...