python控制语句---循环结构语句
这次主要把循环结构的控制语句补上,主要包含while、for、continue、break、循环嵌套。主要写一些基本的认识以及包含的一些实例。当只有唯一路径且只跑一次的时候选择上一节中的选择结构语句就可以了,但是当执行一次或者重复循环执行时就需要另辟蹊径了,那就来认识一下这个蹊径吧。
一、while 语句
1、干啥用?
答:主要用于循环执行程序,既在某种条件下,循环执行某段程序,进而完成对需要重复处理的相同任务处理工作。
2、语法形式长啥样?
答:while 判断条件:
执行语句
其中,执行语句可以是单个语句或语句块。判断条件可以是任何符合要求的表达式,任何非空、非零的值均为True,当判断条件为false时,循环结束。
实例一如下:
count = 0 # 给count一个起始值。
while count < 5: # 判断条件,判断当前正在参与循环的count值是否大于5,通过是否满足此条件来决定要不要继续执行后边的执行语句
print ("The count is :",count) # 打印当前正在循环的count值
count = count + 1 # 将原有count值加1后继续循环
print("Good bye!!")
运行以上代码可以得到以下结果:
The count is :0
The count is :1
The count is :2
The count is :3
The count is :4
Good bye!! # 当count的值不满足小于5时结束了循环。
在上实例中“count<5”也可以是一个常量 ,用的不多。
实例二、
需求描述:输入两个正整数,求他们的最大公约数。
分析思路:1、比较两个数,并使m>n
2、将m做为被除数,n作为除数,相除后的余数为q.
3、循环判断q.如果q=0,则n即为最大公约数,否则就将n的值给m,r的值给n ,n作为被除数、m作为除数。取余q.继续判断。
代码实例:
num1 = int(impurt("请输入第一个正整数: ")) # 用户输入两个正整数。
num2 = int(impurt("请输入第二个正整数: "))
m = num1
n = num2
if m < n: # 判断两个值得大小
t = m # 将两个值进行互换
m = n
n = t
r = m % n; # 取余
while r! = 0: # 判断余数是不是为0
m = n; # 将n的值重新给m
n = r # 将除后的余数r重新给n
r = m % n # 实际上相当于n与r相除后取余
print(num1 "和"num2 "的最大公约数为: "n)
二 、for 语句
1、具有啥特点?
答 :可以遍历任何一个序列的项目,比如一个列表、元祖、或者一个字符串
2、语法形式长啥样?
答:for 循环索引值 in 序列:
循环体
其大致的执行逻辑是:每次循环、判断循环索引值是否还在序列中,如果在,那就取出该值,提供给循环体内的语句使用,如果不在,则结束循环。
实例一、循环吧一个字符串给遍历并打印出来
for letter in "python":
print("当前正被遍历的字母是: "letter)
打印结果:
当前正被遍历的字母是: p
当前正被遍历的字母是: y
当前正被遍历的字母是: t
当前正被遍历的字母是: h
当前正被遍历的字母是: o
当前正被遍历的字母是: n
实例二、循环吧一个列表中的元素打印出来
fruits = ["banana","apple","mango"] # 有一个列表fruits并其中含有三个值
for fruit in fruits: # 将列表fruits中的元素遍历取出并给fruit
print("当前正被遍历的元素是: "fruit) # fruit拥有的值打印出来
print("Good bye!!!")
拓展:
1、生成整数序列的内置函数range()
sum = 0
for x in range(0,101): #通过内置函数,可以去到从0到100的整数
sum = sum + x #将从0到100中取出来的值相加。
print(sum)
2、通过索引来执行循环,建立索引的内置函数len()
fruits = ["banana","apple","mango"]
for i in range(len(fruits)): # 使用len()函数和range()函数将列表fruits中的元素都对应的按整数所需建立下标索引,并将循环下边索引
print("当前正被遍历的水果是:"fruits[i]) # 将循环到的下标索引在fruits中对应位置的元素打印出来
print("Good bye!!")
三、continue 和 break 语句
break语句在while和for语句中均可以使用,一般放在if选择结构中,一旦break语句被执行,则会导致整个语句体直接结束。用的较少
两个语句的语法实例:
i = 1
while i < 5:
i +=1
if i % 2>0 #当一个数除以2大于0时跳过输入当前值
continue
print(i) #输出双数2、4
i=1
while 1: #当循环条件成立是就打印i
print(i) #打印出1、2、3、4、5
i +=1
if i>10 #当i的值大于10时结束全部循环
break
拓展内容
四、循环嵌套
在python中允许一个循环体里面嵌入另一个循环。可以在一个循环体内嵌入另一个循环体。如while循环中可以嵌入for循环。同样,可以在for循环中嵌入while循环。一般嵌套层不超过3层。当然也有一些注意事项,如下:
1、循环嵌套时,外层循环和内层循环间是包含关系,即内层循环必须被完全包含在外层循环中。
2、当程序中出现循环嵌套时,程序每执行一次外层循环,则其内层循环必须循环所有次数后,才能进入到外层循环中的下一次循环。
实例1:
for i in range(1,10):
for j in range(1,i+1)
print(i,"*",J,"=",i*j,"\t",end="") #end=""作用是不换行
print("") #仅换行作用
以上代码就是答应九九乘法表的代码。
实例2:
思路:判断一个数m是否为素数,只要依次用2、3、4、、、m-1做除数去除m,只要有一个能被整除,m就不是素数。
m = int(input("请输入一个整数:"))
j = 2
while j <= m-1:
if m%j==0:
j = j+1
if (j>m-1):
print(m,"是素数")
else:
print(m,"不是素数" )
python控制语句---循环结构语句的更多相关文章
- IT兄弟连 Java语法教程 流程控制语句 循环结构语句1
循环语句可以在满足循环条件的情况下,反复执行某一点代码,这段被重复执行的代码被称为循环体,当反复执行这个循环体时,需要在合适的时候把循环条件该为假,从而结束循环,否则循环将一直执行下去,形成死循环.循 ...
- IT兄弟连 Java语法教程 流程控制语句 循环结构语句4
do-while循环 Java还有一种循环是do-while.与for.while这些在循环顶部判断条件表达式的语句不同,do-while是在循环底部进行条件表达式的检查.这意味着do-while循环 ...
- IT兄弟连 Java语法教程 流程控制语句 循环结构语句3
while循环 Java中的另外一种循环是while循环.while循环的语法格式如下: while(条件表达式){ 循环体; } 其中条件表达式定义了控制循环的条件,可以使任何有效的boolean表 ...
- IT兄弟连 Java语法教程 流程控制语句 循环结构语句2
双重for循环 如果把一个循环放在另一个循环体中,那么就可以形成嵌套循环,也就是双重for循环,当然嵌套循环也可以是for循环嵌套while循环,也可以是while循环嵌套while循环……,即各种类 ...
- python3控制语句---选择结构语句
python中的控制语句主要有if.if--else.if--slif--else.pass语句.其实python的控制语句与其他语言的控制语句工作原理基本一样.控制语句可以分为选择结构语句和循环结构 ...
- Java语法基础(四)----循环结构语句
一.循环结构: 循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则 ...
- python -- 程序的结构语句
一.顺序结构 顺序结构是python脚本程序中基础的结构,它是按照程序语句出现的先后顺序进行依次执行 二.选择结构 选择结构是通过判断某些特定的条件是否满足来决定程序语句的执行顺序 常见的有单分支选择 ...
- python学习之结构语句
一 循环语句: 1.1 for x in rang(n) :#rang(n)生成左闭右开区间的序列 1.2 while x 条件n: 二条件语句: if 条件表达式: elif 表达式: elif 表 ...
- IT兄弟连 Java语法教程 流程控制语句 分支结构语句1
不论哪一种编程语言,都会提供两种基本的流程控制结构:分支结构和循环结构.其中分支结构用于实现根据条件来选择性地执行某段代码,循环结构则用于实现根据循环条件重复执行某段代码.Java同样提供了这两种流程 ...
随机推荐
- I2C(一)框架
目录 I2C(一)框架 引入 整体框架 数据结构 文件结构 流程简述 参考文档 title: I2C(一)框架 date: 2019/1/28 17:58:42 toc: true --- I2C(一 ...
- luogu P3810 三维偏序(陌上花开)cdq分治
题目链接 思路 对一维排序后,使用$cdq$分治,以类似归并排序的方法处理的二维,对于满足$a[i].b \leq a[j].b$的点对,用树状数组维护$a[i].c$的数量.当遇到$a[i].b&g ...
- luogu P5304 [GXOI/GZOI2019]旅行者
传送门 所以这个\(5s\)是SMG 暴力是枚举每一个点跑最短路,然后有一个很拿衣服幼稚的想法,就是把所有给出的关键点当出发点,都丢到队列里,求最短路的时候如果当前点\(x\)某个相邻的点\(y\)是 ...
- django中的分页标签
class Pagination: def __init__(self, page, page_total, per_one_page=15, max_page=11): ''' :param pag ...
- Mac终端命令自动补全
在这里我们首先说一下mac终端执行命令的时候,不会像在windows系统中安装的linux一样支持自动补全,需要自己去调试 步骤如下: (1)打开终端输入nano .inputrc(这里一定要注意na ...
- SpringMVC-简单总结
要学习一项技术,首先要知道, 它是什么, 为什么要用它 , 它由哪些东西组成, 每个东西是干什么的, 它们怎么综合在一起的 参考博客: 平凡希: https://www.cnblogs.com/xia ...
- Python学习笔记-SQLSERVER的大批量导入以及日常操作(比executemany快3倍)
环境 : python3.6 / win10 / vs2017 / sqlserver2017 一.需要安装的包pymssql pip install pymssql 二.pymssql模块的介绍 p ...
- insert主键返回 selectKey使用
有时候新增一条数据,知道新增成功即可,但是有时候,需要这条新增数据的主键,以便逻辑使用,再将其查询出来明显不符合要求,效率也变低了. 这时候,通过一些设置,mybatis可以将insert的数据的主键 ...
- 文件比较与同步工具——FreeFileSync
1. 基本介绍 FreeFileSync是一个用于文件同步的免费开源程序.FreeFileSync通过比较其内容,日期或文件大小上的一个或多个文件夹,然后根据用户定义的设置同步内容.除了支持本地文件系 ...
- noip2018游(AFO)记
Day 0 到学车了,已经差不多四点了,领完一小袋比赛要用的就匆匆回了宾馆. 话说之前看地图的时候我们的宾馆最远,而且名字听起来并没有怎么高大上, 一看隔壁度豪大酒店就感觉应该比我们的酒店好.然鹅到了 ...