流程控制语句分类

1).顺序结构

2).判断结构

3).循环结构

判断结构

特点:如果 ... 否则 ...

格式一:

               

                if 条件表达式:

                                语句块

               

格式二:

               

                if 条件表达式:

                                语句块1

                else:

                                语句块2

               

格式三:

     ①

     if 条件表达式1:

                     语句块1

     elif 条件表达式2:

                     语句块2

     elif 条件表达式3:

                     语句块3

     ...

     else:

                     语句块n

     ②

循环结构

分类:1).while、2).for ... in ...

1.while循环:

理解:有四要素组成

①.初始化条件(执行一次):就是一个起点(起始值),代码的体现就是定义一个变量记录初始值

②.循环条件(可能执行一次或多次):循环到底是继续还是结束,由它把控;如果执行结果为   True,则循环继续;反之,循环结束

③.迭代条件(可能执行0次或多次):不断的去改变起始值,以达到控制循环次数的目的

④.循环体(可能执行0次或多次):需要重复执行的逻辑代码

格式:

               

                while ②:

                      

                      

               

执行流程:① -> ② -> ④ -> ③ -> ② -> ④ -> ③ -> ② ->  ⑤

else语句配合循环使用:

特点:如果循环是正常执行完毕,那么else中的代码一定会被执行; 如果循环是由于break关键字而强行终止,那么else中的代码就不会被执行

 i = 1
while i <= 10:
if i == 5:
break
print(i)
i += 1
else:
print('一旦遇到牛逼break我就不会被执行')

2.for ... in循环:

格式:

          for 变量 in 容器对象:

                          语句块

执行流程:1.遇到for关键字将容器对象中的第一个元素给到变量,执行语句块; 2.再将容器对象中的第二个元素给到变量,执行语句块; 3.以此类推...; 4.直到容器对象中最后一个元素也被获取过了,执行完语句块,整个for...in循环就结束了

使用场景:

场景一:for循环配合range对象使用

1).通过执行完毕range()函数返回给程序一个range对象,此对象是一个惰性序列对象(显示不清晰),可以使用遍历的思想去查看其内容,也可以将其转换为list、tuple等类型再进行运算;

2).它仍然是一个容器对象,有容量/长度,有索引(index),可以通过变量名配合下标访问容器中的元素,格式: range([start],end,[step]),解析参数:start:起始数据,默认从0开始;end:结尾数据;step:步长;特点:含头不含尾  --> [start,end)。

 r = range(1,5)
print(r,type(r),len(r))
r = range(10)
# 遍历r对象
for i in r:
print(i,end=" ")

也可以将range对象转换为其它的容器对象(例如:list),然后在执行遍历操作:

 r = range(1,11)
print(r,type(r),len(r))
lt = list(r)
print(lt,type(lt),len(lt))
# 使用while循环遍历range对象:
i = 0
while i < len(r):
print(r[i])
i += 1

场景二:for循环配合容器对象使用

配合容器对象(str、list、tuple、dict、set)使用

 # 配合list&str类型使用:
lt = [10,20,30,40,50]
for i in lt:
print(i,end=" ")
print() str1 = "abcdefg12345$%!"
for j in str1:
print(j,end=" ")
print() # 配合dict对象使用:
dic1 = {'name':'韩梅梅','age':25,'height':165.0}
#通过键找到值
for k in dic1:
print(k + "-->" + str(dic1.get(k)))

嵌套循环

循环中再定义循环,就是嵌套循环;

【注意】:嵌套循环不是两层循环,两层循环是嵌套循环,在之后开发过程中,99%的情况两层就够了;不应该出先3,4层

格式模板:

while 中嵌套 while

while 中嵌套 forin

forin 中嵌套 while

forin 中嵌套 forin

格式:

for i in seq1:                       # 外层循环

语句块1

for j in seq2:                  # 内层循环

语句块2                      # 内存循环的循环体

4.python流程控制语句介绍的更多相关文章

  1. 【转】Python流程控制语句

    [转]Python流程控制语句 人们常说人生就是一个不断做选择题的过程:有的人没得选,只有一条路能走:有的人好一点,可以二选一:有些能力好或者家境好的人,可以有更多的选择:还有一些人在人生的迷茫期会在 ...

  2. Python流程控制语句

    人们常说人生就是一个不断做选择题的过程:有的人没得选,只有一条路能走:有的人好一点,可以二选一:有些能力好或者家境好的人,可以有更多的选择:还有一些人在人生的迷茫期会在原地打转,找不到方向.对于相信有 ...

  3. 『无为则无心』Python基础 — 13、Python流程控制语句(条件语句)

    目录 1.流程控制基本概念 2.选择结构(条件语句) (1)条件语句概念 (2)if语句语法 (3)if...else...语句 (4)多重判断 (5)if语句嵌套 3.应用:猜拳游戏 4.三元运算符 ...

  4. 004 python 流程控制语句

    流程控制语句 1.if判断 语法 a = 10,b = 20# 1if a == 10:  print('a等于10')# 2if a > b:  print('a大于b')else:  pri ...

  5. Python流程控制语句详解

    1.程序结构 计算机在解决问题时,分别是顺序执行所有语句.选择执行部分语句.循环执行部分语句,分别是:顺序结构.选择结构.循环结构.如下图: 2.选择语句 2.1最简单的if语句 Python使用保留 ...

  6. python流程控制语句 ifelse - 3

    #! /usr/bin/python x = input ('please inut a integer:') x = int(x) : print ('你输入了一个负数') elif x == : ...

  7. Python流程控制语句(Control Flow)

    Python用于流程控制的语句包括if,for,while,这些都是从C语言借鉴过来的,然后我们会提到pass语句. 1,if if的语法很简答,我们举一个例子就好,注意关键字if, elif, el ...

  8. 『无为则无心』Python基础 — 14、Python流程控制语句(while循环语句)

    目录 1.什么是循环结构 2.while循环 (1)while循环的语法 (2)while循环的应用 3.while语句的死循环 4.break和continue 5.while循环嵌套 (1)应用场 ...

  9. python流程控制语句 for循环 - 1

    Python中for循环语句是通过遍历某一序列对象(元组.列表.字典等)来构建循环,循环结束的条件就是遍历对象完成. 语法形式: for <循环变量> in <遍历对象>: & ...

随机推荐

  1. Spring AnnotationConfigApplicationContext

    Spring AnnotationConfigApplicationContext 概述 通常Spring XML文件用来作为ClassPathXmlApplicationContext 的初始化.@ ...

  2. Referer防盗链

    一.目录展示 分为AProject和BProject两个项目进行测试 二.修改c:\windows\system32\drivers\etc下的hosts文件 三.aindex.jsp 四.binde ...

  3. STM8 ADC 多个通道连续扫描缓冲区数据带中断模式的正确写法

    近日调试了STM8S的ADC采集多通道数据的程序,按照之前的立即,将ADC1设置为:扫描模式,连续采集,数据缓存模式,中断使能后应该可以在中断后读取到数值了,可是无论怎样都只能读取到第一个缓冲器的数据 ...

  4. 根据范围爬TMS规则瓦片

    因为需要简单写了一个下载地图的爬虫,代码如下: #coding=utf-8 import urllib.request import os import socket import zlib impo ...

  5. Mysql Innodb cluster集群搭建

    之前搭建过一个Mysql Ndb cluster集群,但是mysql版本是5.7的,看到官网上mysql8的还是开发者版本,所以尝试搭建下mysql Innodb cluster集群. MySQL的高 ...

  6. 西门子PLC在自动浇灌系统中的应用

    西门子PLC在自动浇灌系统中的应用(鸿控整理) 2020-02-07 22:50:48 1 自动浇灌系统简介 系统采用自行研制的湿度传感器监测土壤的湿度情况,当土壤湿度低于所要求的值后,自动开启水泵电 ...

  7. nginx命令行及演示:重载、热部署、日志切割

    重载配置文件 nginx -s reload 热部署(升级nginx) 首先备份二进制文件 cp nginx nginx.old  拷贝新版本的nginx替换以前的nginx二进制文件 cp  ngi ...

  8. myeclipse 项目引入 com.sun.image.codec.jpeg 的api报错解决方法

    今天在做压缩图片的功能的时候发现JDK自带的jar找不到的问题,网上找到一个方法,实测可行,这边记录下: 在Eclipse中处理图片,需要引入两个包:   import com.sun.image.c ...

  9. java代码之美(15)---Java8 Function、Consumer、Supplier

    Java8 Function.Consumer.Supplier 有关JDK8新特性之前写了三篇博客: 1.java代码之美(1)---Java8 Lambda 2.java代码之美(2)---Jav ...

  10. 五种编程语言解释数据结构与算法——顺序表1(理论与C语言实现)

    1.线性表的分类 2.线性表的定义及其基本操作 2.1.定义:线性表是具有相同类型的n(n>=0)个元素的有序序列,其中n为表长,当n=0时,该表为空表. 2.3.线性表的逻辑结构为: 2.4. ...