循环控制,就是让程序循环运行某一段代码直到满足退出的条件,才退出循环。

Python用关键字for和while来进行循环控制,但是没有其它语言的do...while语句(在Java和PHP中都有do while)。

while循环

while循环语句的控制结构图如下所示:

while 判断表达式:
内部代码块 接下来看一个具体的案例,求1-100之间的总和
n = 100
sum = 0
counter = 1
while counter <= n:
sum = sum + counter
counter += 1 print("1 到 %d 之和为: %d" % (n,sum))
----------------------------------------- 通常在循环条件中,会设置退出条件,防止程序死循环。
while True:
s = input("what's you name:")
print("you name is %s"%s)
print("bye")
这个程序永远也不会打印bye。

while的else从句:

while循环还可以增加一个else从句。当while循环正常执行完毕,会执行else语句。注意else与while平级的缩进方式!

number = 10
i = 0
# i = 11
while i < number:
print(i)
i += 1
else:
print("执行完毕!")

如果是被break等机制强制提前终止的循环,不会执行else语句。

number = 10
i = 0
while i < number:
print(i)
i += 1
if i == 7:
break
else:
print("执行完毕!")

for循环

虽然与while一样都是循环的关键字,但for循环通常用来遍历可迭代的对象,如一个列表或者一个字典。其一般格式如下:

for <variable> in <sequence>:
<statements>
for ... in ....:属于固定套路
sum = 0
for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
sum = sum + x
print(sum)

循环的嵌套

if判断可以嵌套,while和for当然也可以嵌套。但是建议大家不要嵌套3层以上,那样的效率会很低。
# 这是一个判断质数的程序
# 一个数,如果只有1和它本身两个因数,这样的数叫做质数(或素数) for n in range(2, 100):
for x in range(2, n):
if n % x == 0:
print(n, '等于', x, '*', n//x)
break
else:
# 循环中没有找到元素
print(n, ' 是质数')
# print(n,end = ', ')

break语句

想在循环过程中退出循环,怎么办?用break语句!
break只能用于循环体内。其效果是直接结束并退出当前循环,剩下的未循环的工作全部被忽略和取消。
Python的break只能退出一层循环,对于多层嵌套循环,不能全部退出。
for letter in 'Hello world': # 第一个实例
if letter == 'r':
break
print ('当前字母为 :', letter)
--------------------------------------------
var = 10 # 第二个实例
while var > 0:
print ('当前变量值为 :', var)
var -= 1
if var == 5:
break

continue语句

与break不同,continue语句用于跳过当前循环的剩余部分代码,直接开始下一轮循环。它不会退出和终止循环,只是提前结束当前轮次的循环。同样的,continue语句只能用在循环内。
for letter in 'Hello world': # 第一个实例
if letter == 'o': # 字母为 o 时跳过输出
continue
print ('当前字母 :', letter)
-------------------------------------------------------
var = 10 # 第二个实例
while var > 0:
var -= 1
if var == 5: # 变量为 5 时跳过输出
continue
print ('当前变量值 :', var)

刚才前面跟大家说过,python中的break只能跳出当前层的循环,无法全部跳出。那如果有这么需求怎么办?

设置flag
flag = False # 用于控制外层循环的标志
for i in range(10):
if flag: # 当flag被内层循环设置为True的时候,跳出外层循环
break
for j in range(10):
if j==7:
flag = True
break
print(i,j)

Python流程控制-3 循环控制的更多相关文章

  1. python 流程控制(条件语句)

    1,python流程控制单条件基本语句 2,python流程流程多条件控制语句 3,三元运算 1,python流程控制单条件基本语句 if 判断条件: 执行语句…… else: 执行语句…… 判断条件 ...

  2. Python(四)之Python流程控制(if、while、for)

    Python流程控制 if测试: if 条件测试表达式: 组合条件测试: x and y:与运算 x or y:或运算 not x:非运算 while: break:跳出最内层的循环 continue ...

  3. Python 流程控制-分支结构详解

    目录 Python 流程控制--分支结构 1.结构分类 顺序结构 分支结构 循环结构 2.分支结构详解 分支结构 定义格式: if 单支结构 if 双分支结构 if 多分支结构 Python 流程控制 ...

  4. Python流程控制-1 顺序执行

    流程控制指的是代码运行逻辑.分支走向.循环控制,是真正体现我们程序执行顺序的操作.流程控制一般分为顺序执行.条件判断和循环控制. 顺序执行 Python代码在执行过程中,遵循下面的基本原则: 普通语句 ...

  5. Python基础-python流程控制之顺序结构和分支结构(五)

    流程控制 流程:计算机执行代码的顺序,就是流程 流程控制:对计算机代码执行顺序的控制,就是流程控制 流程分类:顺序结构.选择结构(分支结构).循环结构 顺序结构 一种代码自上而下执行的结构,是pyth ...

  6. Python流程控制-逻辑运算-if...else语句

    摘录自:http://www.runoob.com/python/python-if-statement.html Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执 ...

  7. Python 流程控制 超全解析(不可错过)

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

  8. python流程控制和循环

    变量的命名:可以由数字字母下换线组成 ,不能以数字开头,可以使用中文但是不推荐使用中文,不推荐前面使用_ __,不能使用系统的关键字,变量名严格区分大小写 逻辑运算优先级 or<and<n ...

  9. python流程控制-if

    在python中流程控制可以分为三种,分别是顺序结构.分支结构和循环结构.分支结构:if..else循环结构:while循环.for循环 一:分支结构 1:单项分支 语法: 含义:判断条件,条件结果为 ...

随机推荐

  1. 报bug mui分享微信 ,qq 分享失败

    1. iOS分享链接到微信,分享成功,但是分享的只有title,其他参数都没有 原因是mui分享进行了更新,msg新增了 msg.type 这个配置参数 qq : msg.type='text' 微信 ...

  2. oracle imp exp 导入导出

    一.exp导出 exp myuser/mypwd@orcl file=D:\sql-bak\myuser.dmp log=D:\sql-bak\myuser.log exp 用户/密码@实例名 fil ...

  3. PHP+Mysql防止SQL注入的方法

    这篇文章介绍的内容是关于PHP+Mysql防止SQL注入的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 方法一: mysql_real_escape_string -- 转义 S ...

  4. canvas的描述

    // 1.找到DOM节点 const canvas = document.getElementById('canvas'); // 2.画笔 --- canvas的上下文对象 const ctx = ...

  5. scala安装此时不应有 \scala\bin\scala.bat

    scala安装目录有空格导致的,不应该有空格

  6. 页面布局 Paddiing Row Column Expanded 组件详解

    一.Paddiing 组件     padding    EdgeInsetss 设置填充的值     child  组件    return Padding(     padding: EdgeIn ...

  7. 360安全浏览器已经完成和统一操作系统UOS的适配工作

    导读 统信软件公司宣布,360安全浏览器已经完成和统一操作系统UOS的适配工作.如今,基于龙芯.兆芯.飞腾.海光等国产CPU的统一操作系统UOS,赢全面支持电子公文.电子签章.流版式办公插件等近百款国 ...

  8. codeforces-1271A - Suits

    A. Suits   A new delivery of clothing has arrived today to the clothing store. This delivery consist ...

  9. idea新建项目相关名词意义

    新建项目中的对比 建完之后的项目对比 对比 新建中Artifact的名称对应maven中名字 新建中package的名字对应的是项目中src下package名字 新建中project name的名字对 ...

  10. 「CQOI2015」任务查询系统

    「CQOI2015」任务查询系统 传送门 好像也是板子题??? 区间修改,单点查询,考虑差分. 然后每次查询时就直接在对应的主席树上二分即可. 参考代码: #include <cstdio> ...