python循环结构语句_python控制语句---循环结构语句

这次主要把循环结构的控制语句补上,主要包含while、for、continue、break、循环嵌套。主要写一些基本的认识以及包含的一些实例。当只有唯一路径且只跑一次的时候选择上一节中的选择结构语句就可以了,但是当执行一次或者重复循环执行时就需要另辟蹊径了,那就来认识一下这个蹊径吧。

一、while 语句

1、干啥用?

答:主要用于循环执行程序,既在某种条件下,循环执行某段程序,进而完成对需要重复处理的相同任务处理工作。

2、语法形式长啥样?

答:while 判断条件:

执行语句

其中,执行语句可以是单个语句或语句块。判断条件可以是任何符合要求的表达式,任何非空、非零的值均为True,当判断条件为false时,循环结束。

实例一如下:

1 count = 0                    #给count一个起始值。

2 while count < 5: #判断条件,判断当前正在参与循环的count值是否大于5,通过是否满足此条件来决定要不要继续执行后边的执行语句

3 print ("The count is :",count) #打印当前正在循环的count值

4 count = count + 1 #将原有count值加1后继续循环

5 print("Good bye!!")

运行以上代码可以得到以下结果:

1 The count is:02 The count is :1

3 The count is :2

4 The count is :3

5 The count is :4

6 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.继续判断。

代码实例:

1 num1 = int(impurt("请输入第一个正整数:"))    #用户输入两个正整数。

2 num2 = int(impurt("请输入第二个正整数:"))3 m =num14 n =num25 if m < n:                   #判断两个值得大小

6 t = m                   #将两个值进行互换

7 m =n8 n =t9 r = m % n;                     #取余

10 while r! = 0:                    #判断余数是不是为0

11 m = n;                      #将n的值重新给m

12 n = r                      #将除后的余数r重新给n

13 r = m % n                    #实际上相当于n与r相除后取余

14 print(num1 "和"num2 "的最大公约数为:"n)

二 、for 语句

1、具有啥特点?

答 :可以遍历任何一个序列的项目,比如一个列表、元祖、或者一个字符串

2、语法形式长啥样?

答:for 循环索引值 in 序列:

循环体

其大致的执行逻辑是:每次循环、判断循环索引值是否还在序列中,如果在,那就取出该值,提供给循环体内的语句使用,如果不在,则结束循环。

实例一、循环吧一个字符串给遍历并打印出来

1 for letter in "python":2 print("当前正被遍历的字母是:"letter)

打印结果:

1 当前正被遍历的字母是: p2 当前正被遍历的字母是: y3 当前正被遍历的字母是: t4 当前正被遍历的字母是: h5 当前正被遍历的字母是: o6 当前正被遍历的字母是: n

实例二、循环吧一个列表中的元素打印出来

1 fruits = ["banana","apple","mango"]    #有一个列表fruits并其中含有三个值

2 for fruit in fruits:             #将列表fruits中的元素遍历取出并给fruit

3   print("当前正被遍历的元素是:"fruit)   #fruit拥有的值打印出来

4 print("Good bye!!!")

拓展:

1、生成整数序列的内置函数range()

1 sum =02 for x in range(0,101):            #通过内置函数,可以去到从0到100的整数

3 sum = sum + x               #将从0到100中取出来的值相加。

4 print(sum)

2、通过索引来执行循环,建立索引的内置函数len()

1 fruits = ["banana","apple","mango"]2 for i in range(len(fruits)):         #使用len()函数和range()函数将列表fruits中的元素都对应的按整数所需建立下标索引,并将循环下边索引

3 print("当前正被遍历的水果是:"fruits[i]) #将循环到的下标索引在fruits中对应位置的元素打印出来

4 print("Good bye!!")

三、continue 和 break 语句

break语句在while和for语句中均可以使用,一般放在if选择结构中,一旦break语句被执行,则会导致整个语句体直接结束。用的较少

两个语句的语法实例:

1 i = 1

2 while i < 5:3 i +=1

4 if i % 2>0                 #当一个数除以2大于0时跳过输入当前值

5 continue

6 print(i)                  #输出双数2、4

7 i=1

8 while 1:                    #当循环条件成立是就打印i

9 print(i)                  #打印出1、2、3、4、5

10 i +=1

11 if i>10                  #当i的值大于10时结束全部循环

12 break

拓展内容

四、循环嵌套

在python中允许一个循环体里面嵌入另一个循环。可以在一个循环体内嵌入另一个循环体。如while循环中可以嵌入for循环。同样,可以在for循环中嵌入while循环。一般嵌套层不超过3层。当然也有一些注意事项,如下:

1、循环嵌套时,外层循环和内层循环间是包含关系,即内层循环必须被完全包含在外层循环中。

2、当程序中出现循环嵌套时,程序每执行一次外层循环,则其内层循环必须循环所有次数后,才能进入到外层循环中的下一次循环。

实例1:

1 for i in range(1,10):2 for j in range(1,i+1)3 print(i,"*",J,"=",i*j,"\t",end="") #end=""作用是不换行

4 print("") #仅换行作用

以上代码就是答应九九乘法表的代码。

实例2:

思路:判断一个数m是否为素数,只要依次用2、3、4、、、m-1做除数去除m,只要有一个能被整除,m就不是素数。

1 m = int(input("请输入一个整数:"))2 j = 2

3 while j <= m-1:4 if m%j==0:5 j = j+1

6 if (j>m-1):7 print(m,"是素数")8 else:9 print(m,"不是素数" )

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/503707.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

hive left outer join 子查询临时表_基于历史数据的用户访问次数,每天新老用户,日活,周活,月活的hive计算...

最近有一个需求&#xff0c;统计每天的新老用户&#xff0c;日活&#xff0c;周活&#xff0c;月活。 我们每天的增量数据会加入到hive历史数据表中&#xff0c;包含用户访问网站的一些信息&#xff0c;字段有很多&#xff0c;包括用户唯一标识guid。 当然了日活&#xff0c;周…

sql server2008r2 没有提示_SQL学习之旅(1)

从2020.07.28开始跟着猴子哥系统学习数据库&#xff0c;在此记录自己的sql学习与练习过程&#xff0c;希望能为以后的自己带来帮助。SQL简介练习1&#xff1a;1.如何验证mysql数据库安装成功&#xff1f;在完成环境变量的配置的情况&#xff08;在Path中添加mysql的bin目录路径…

lptv自建服务器,如何搭建自己的IPTV平台

概述IPTV平台包括鉴权服务器、EPG服务器和媒体服务器。IPTV机顶盒首先与鉴权服务器进行通信&#xff0c;鉴权成功后获取EPG服务器和UserToken。EPG服务器实现节目内容导航、播放控制等用户界面。媒体服务器以RTSP协议实现流媒体传输。机顶盒与鉴权服务器和EPG服务器之间的通信都…

mysql事务prepare_mysql之 事务prepare 与 commit 阶段分析

打开binlog选项后&#xff0c;执行事务提交命令时&#xff0c;就会进入两阶段提交模式。两阶段提交分为prepare阶段和commit两个阶段。流程如下 &#xff1a;这里面涉及到两个重要的参数&#xff1a;innodb_flush_log_at_trx_commit和sync_binlog&#xff0c;参数可以设置不同的…

order by 子查询_【框架】118:mybatis之多表高级查询

今天是刘小爱自学Java的第118天。感谢你的观看&#xff0c;谢谢你。学习内容安排如下&#xff1a;补充说明知识点&#xff1a;resultMap&#xff0c;sql片段。mybatis中的高级查询&#xff0c;即多表关联查询。查询主要分为&#xff1a;一对一&#xff0c;一对多&#xff0c;多…

小程序使用css变量,小程序使用css变量实现“换肤”方案

使用sass,stylus可以很方便的使用变量来做样式设计&#xff0c;其实css也同样可以定义变量&#xff0c;在小程序中由于原生不支持动态css语法&#xff0c;so&#xff0c;可以使用css变量来使用开发工作变简单。基础用法page {--main-bg-color: brown;}.one {color: white;backg…

笔试MySQL读写速度优化_笔试题:优化mysql数据库的方法

优化mysql数据库的方法&#xff0c;(1).数据库设计方面,这是DBA和Architect的责任,设计结构良好的数据库,必要的时候,去正规化(英文是这个:denormalize,中文翻译成啥我不知道),允许部分数据冗余,避免JOIN操作,以提高查询效率(2).系统架构设计方面,表散列,把海量数据散列到几个不…

css找某个元素的下个子元素,CSS可以检测一个元素有多less个子元素?

注&#xff1a;这个解决scheme将返回一定长度的子集&#xff0c;而不是你所要求的父元素。 希望它仍然有用。安德烈路易斯提出了一个方法&#xff1a; http : //lea.verou.me/2011/01/styling-children-based-on-their-number-with-css3/不幸的是&#xff0c;它只适用于IE9及以…

python文本聚类分析_python机器学习kmeans算法——对文本进行聚类分析

#!/usr/bin/env python#-*- coding: utf-8 -*-#File : kmeans.py#Author: 田智凯#Date : 2020/3/19#Desc :机器学习kmeans算法&#xff0c;对科技成果项目进行聚类分析 from __future__ importprint_functionimporttimefrom sklearn.feature_extraction.text importTfidfVector…

lock字段mysql_MySQL的lock tables和unlock tables的用法(转载)

早就听说lock tables和unlock tables这两个命令&#xff0c;从字面也大体知道&#xff0c;前者的作用是锁定表&#xff0c;后者的作用是解除锁定。但是具体如何用&#xff0c;怎么用&#xff0c;不太清楚。今天详细研究了下&#xff0c;总算搞明白了2者的用法。lock tables 命令…

css中变形,css3中变形处理

transfrom功能在css3 中可以使用transfrom功能实现文字或图像的旋转&#xff0c;缩放&#xff0c;倾斜&#xff0c;移动等变形处理deg是css3中使用的一种角度单位。旋转&#xff1a; 使用rotate方法&#xff0c;在参数中加入角度值&#xff0c;在角度值后要加上角度单位deg。旋…

获取 子文件夹 后缀_后期制作老司机教你一键批量生成项目文件夹

我猜你的项目工程是这样的&#xff0c;当你老板说去修改一下之前几个月的工程的时候&#xff0c;你都不知道哪个工程才是最终版呀。乱糟糟的工程而且当你打开工程的时候&#xff0c;wo艹&#xff0c;素材怎么丢失了~~不管是后期制作者还是平常我们日常工作&#xff0c;一定要养…

mysql排序行号_mysql 取得行号后再排序

一.理论准备Map是键值对的集合接口&#xff0c;它的实现类主要包括&#xff1a;HashMap,TreeMap,Hashtable以及LinkedHashMap等。TreeMap&#xff1a;基于红黑树(Red-Black tree)的 NavigableMap 实现&#xff0c;该映射根据其键的自然顺序进行排序&#xff0c;或者根据创建映射…

ffmpeg将文件转码后推向服务器,使用 Serverless 云函数 + ffmpeg 实现音视频转码服务...

核心价值视频应用、社交应用等场景下&#xff0c;用户上传的图片、音视频的总量大、频率高&#xff0c;对处理系统的实时性和并发能力都有较高的要求。例如&#xff1a;对于用户上传的视频短片&#xff0c;我们可以使用多个云函数对其分别处理&#xff0c;对应不同的清晰度(108…

python 怎么判断字符串是否有换行_JAVA中如何判断一个字符串是否换行

展开全部${rr.right_name}扩展资料 java控制台程序判断String字符e68a8462616964757a686964616f31333431373263串中只输入了一个回车&#xff1a; importjava.io.BufferedReader; importjava.io.InputStreamReader; importjava.util.Scanner; publicclassTest{ publicstaticvoi…

python提取文本中的字符串到新的txt_Python实现jieba对文本分词并写入新的文本文件,然后提取出文本中的关键词...

版权声明&#xff1a;本文为博主原创文章&#xff0c;遵循CC 4.0 BY-SA版权协议&#xff0c;转载请附上原文出处链接和本声明。 Python实现jieba对文本分词并写入新的文本文件&#xff0c;然后提取出文本中的关键词思想 先对文本进行读写操作&#xff0c;利用jieba分词对待分词…

logger 参数列表过长_[源码级解析] 巧妙解决并深度分析Linux下rm命令提示参数列表过长的问题...

在维护实习单位服务器的过程中&#xff0c;偶然发现一个有350万文件的文件夹需要清理&#xff0c;于是我习惯性执行了rm -rf ./*&#xff0c;却在数秒后被告知“参数列表过长”。在一番折腾过后&#xff0c;我终于通过取巧的办法完成了这一任务&#xff0c;也随着相关内核源码的…

collect的功能是什么?其底层如何实现的?_为什么你要用 Spring ?

前言现在Spring几乎成为了Java在企业级复杂应用开发的代名词&#xff0c;得益于Spring简单的设计哲学和其完善的生态圈&#xff0c;确实为廉颇老矣&#xff0c;尚能饭否的 Java 带来了“春天”&#xff0c;有很多同学刚接触Java就直接从Spring框架开始学习&#xff0c;导致产生…

2.3.0配置 spark_配置scala 2.11.12的spark-2.3.0 maven依赖项的问题

我在尝试在POM.xml中为spark-scala应用程序设置maven denpendency时遇到问题 .我在用 &#xff1a;SCALA版本$ scalaWelcome to Scala 2.11.8 (OpenJDK 64-Bit Server VM, Java 1.8.0_162).SPARK版本&#xff1a;$ ./spark-shellWelcome to SPARK version 2.3.0Using Scala ver…

m3u8合并mp4软件_m3u8格式转mp4究极办法!

你们来这个号这么久了&#xff01;还没给你们分享过一些实用的干货。打今天起这个公众号将给大家推荐一些APP和实用的小软件和一些小教程。生命太短&#xff0c;没时间留给遗憾。若不是终点&#xff0c;都不要把自己留在原地&#xff0c;请一直微笑向前&#xff01;我是帮忙坏哥…