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同样提供了这两种流程 ...
随机推荐
- Apache Shiro Java反序列化漏洞分析
1. 前言 最近工作上刚好碰到了这个漏洞,当时的漏洞环境是: shiro-core 1.2.4 commons-beanutils 1.9.1 最终利用ysoserial的CommonsBeanuti ...
- 2018-2019-2 《Java程序设计》第6周学习总结
20175319 2018-2019-2 <Java程序设计>第6周学习总结 教材学习内容总结 本周学习<Java程序设计>第七章和第十章: 内部类: 1.内部类可以使用外嵌类 ...
- mesbox公告加更新控制
0为不显示,1为显示~~~~0|友情提示:任何时候,不要相信福利软件,福利网站,不乱接收别人发的的任何文件,如需使用军旗有关产品,请至官方群或官方网站下载!!|183|173~~~~162,1651, ...
- charles抓包https设置
写在前面 https抓包的实现 (一)首先,电脑得装个证书 (二)然后,移动设备上安装证书 (三)最后,Charles添加SSL Proxying 写在前面 开发时,面对各种接口数据,绝大多数时间都会 ...
- 递归处理vue菜单数据
结构不多说,bean的封装很简单,直接上核心代码吧,自己根据需要把不要的属性自己过滤掉: public List<MenuBo> getMenuByUserId(Long user_id, ...
- Q - N! HDU - 1042
使用java还不熟练,错误在于读入.应用in.hasNext() 代码 import java.text.ParseException; import java.text.SimpleDateForm ...
- 在windows下安装php redis扩展
我在本地是phpstudy集成环境,但是没有redis扩展,需要自己安装 1.先看清楚自己的php配置,在安装对应的 php_redis.dll 和 php_igbinary.dll php_redi ...
- Linux中普通用户配置sudo权限(带密或免密)
配置步骤如下: 1.登陆或切换到root用户下: 2.添加sudo文件的写权限,命令是:chmod u+w /etc/sudoers 3.编辑sudoers文件:vi /etc/sudoers 找到这 ...
- PHP 递归几种方法
一.利用静态变量的方法 <?php function call(){ static $i = 0; echo $i . ''; $i++; if($i<10){ call(); } } c ...
- 解决百度上传WebUploader在IE浏览器下点击无反应的问题
原因1:IE浏览器不支持H5方式上传,需要使用flash的方式上传 解决方法:在页面head标签添加<meta http-equiv="X-UA-Compatible" co ...