菜鸟学习日记(python)——循环语句

python中的循环语句包括for循环语句和while循环语句,但是python中是没有do...while循环语句的。

while循环语句

while循环语句的一般格式为;

while condition:loop body

condition是循环判断条件,loop body是循环体。

当循环条件成立时,就执行循环体中的语句,循环条件不成立时,跳出循环。

下面是一个简单的实例:

# #计算0到100的和
sum=0
i=0
while i<=100:sum=sum+ii=i+1
print('0到100的整数和为:%d'%sum)

无限循环:

当我们设置条件表达式永远不为 false时,可以实现无限循环

#无限循环
while True:height=input('请输入你的身高(cm):')height=float(height)print('你的身高对应标准体重为:%fkg'%(height-105))

可以按终止按钮来退出死循环

无限循环在服务器上客户端的实时请求非常有用

while...else语句

while condition:loop body
else:CodeBlock

如果while后面的条件表达式(condition)成立,那么执行循环体中(loop body)的语句,不成立时,就执行else后面的(CodeBlock)语句。

简单实例如下:

#随机才一个0到10的整数
num=random.randint(0,10)    #随机生成一个0到10之间的整数
num2=int(input('请输入你猜想的数字(整数):'))       #输入猜想的数字
i=1         #i用于计算猜数的次数
while num2!=num:        #条件表达式print('猜错了,再猜一次')num2 = int(input('请输入你猜想的数字(整数):'))i = i + 1
else:print('一共猜了%d次猜对啦!'%i)          #条件表达式不成立就执行这条语句

如果while的循环体中只有一条语句的话,可以将这条语句和while写在同一行

flag=1
while flag:print('这是一个无限循环')

for循环语句

for循环的一般格式如下:

for <variable> in <sequence>:<statements1>

variable是一个变量名,sequence是变量范围,当变量在变量范围内时,执行statements1里面的语句,否则执行statements2中的语句

下面是简单的实例:

for num in range(1,5):      #range(1,5)表示1到5的整数print(num,end='\t')     #end='\t'表示制表符,也就是4个空格
print('\n')         #\n是换行符str1='hello'        #字符串
for str in str1:print(str,end='\t')
print('\n')list1=[1,2,3]       #列表
for num in list1:print(num,end='\t')
print('\n')tuple1=(4,5,6)      #元组
for num in tuple1:print(num,end='\t')
print('\n')#注意:集合是无序的,所以打印出来的数据也是无序的
set1={'t1','t2','t3'}       #集合
for str in set1:print(str,end='\t')
print('\n')dict1={'name':'风之海蓝','sex':'男','age':33}        #字典
for str in dict1.values():print(str,end='\t')
print('\n')

需要注意的是,对于集合,打印出来的结果并不是有序的

for...else

它的一般格式为:

for <variable> in <sequence>:<statements1>
else:<statements2>

statements1是循环主体,statements2是循环结束后执行的语句

一个简单实例:

for num in range(5):print(num,end='\t')
else:print('end')

range()函数

如果需要遍历数字序列,可以使用内置 range() 函数。它会生成数列,就像上面的实例一样。

我们可以指定区间值,也可以指定步长

for num in range(0,10,2):       #0到10的整数,步长为2print(num,end='\t')
print('\n')
for num in range(0,10,3):       #0到10的整数,步长为3print(num,end='\t')
print('\n')
for num in range(0,-10,-3):       #0到-10的整数,步长为-3print(num,end='\t')
print('\n')
for num in range(-10,0,3):       #-10到0的整数,步长为3print(num,end='\t')

可以看到,range的区间可以是正数区间,也可以是负数区间,区间的右边界值不被包含在内,步长也可以是正数或者负数。但是要注意的是,区间如果是从小到大,那么步长的数值要为正,区间如果是从大到小,那么步长的数值要为负数,否则会取不到数值。

我们可以结合 range() 和 len() 函数来遍历一个序列的索引,如下所示:

list1=['t1','t2','t3']
for i in range(len(list1)):print(list1[i])

break和continue

在循环语句中,我们常常要用到break语句和continue语句,它们是用来跳出循环的,但是两者又有区别。

break:跳出整个循环。它可以跳出 for 和 while 的循环体,如果从 for 或 while 循环中使用break终止,那么对应的循环 else 块将不执行。

continue:跳出当前循环。也就是在当前循环中,continue后面的语句不执行了,直接进入下一轮循环。

以下是简单实例:

#for循环中使用break
for num in range(1,10):if num==5:breakprint(num,end='\t')
print('结束')#for循环中使用continue
for num in range(1,10):if num == 5:continueprint(num,end='\t')
print('结束')#while中使用break
num = 10
while num > 0:num = num - 1if num == 5:breakprint('当前变量值为 :', num, end='\t')
print('结束')#while中使用continue
num = 10
while num > 0:num = num - 1if num == 5:continueprint('当前变量值为 :', num, end='\t')
print('结束')

可以看到,无论是在for循环中,还是在while循环中,如果使用的是break,那么它会跳出整个循环,后面的循环语句都不会执行了(如果有else子句,else子句里面的语句也不会执行)。但是如果用的是continue,那么只有当前循环中的剩余语句不会执行,后面循环中的语句以及else子句中的语句都会执行。

如果是在嵌套循环语句中,执行break,那么会跳出当前的整个循环,不会跳出外层循环

下面是一个简单的实例:

for n in range(2, 10):for x in range(2, n):if n % x == 0:print(n, '等于', x, '*', n // x)breakelse:# 循环中没有找到元素print(n, ' 是质数')

pass语句

 pass是一个空语句,使用它是为了保持程序结构的完整性。pass 不做任何事情,一般用做占位语句。

以下是一个实例:

list1=['花花','壳哥','飒飒','绒绒','海鸥哥哥']
for str in list1:if str=='飒飒':passprint('这是%s'%str)print(str)
print('结束')

可以看到pass不会对程序造成影响,不影响程序的正常运行,只作占位使用

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

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

相关文章

基于ssm的彩妆小样售卖商城的设计与实现论文

摘 要 随着科学技术的飞速发展&#xff0c;各行各业都在努力与现代先进技术接轨&#xff0c;通过科技手段提高自身的优势&#xff1b;对于彩妆小样售卖商城当然也不能排除在外&#xff0c;随着网络技术的不断成熟&#xff0c;带动了彩妆小样售卖商城&#xff0c;它彻底改变了过…

Leetcode—231.2的幂【简单】

2023每日刷题&#xff08;五十四&#xff09; Leetcode—231.2的幂 实现代码 class Solution { public:bool isPowerOfTwo(int n) {if(n < 0) {return false;}long long ans 1;while(ans < n) {ans * 2;}if(ans n) {return true;}return false;} };运行结果 之后我会…

时间序列预测专栏介绍 — 算法原理、源码解析、项目实战

专栏链接&#xff1a;https://blog.csdn.net/qq_41921826/category_12495091.html 专栏内容 所有文章提供源代码、数据集、效果可视化 文章多次上热搜榜单 时间序列预测存在的问题 现有的大量方法没有真正的预测未来值&#xff0c;只是用历史数据做验证 利用时间序列分解算法存…

【Vue第3章】使用Vue脚手架_Vue2

目录 3.1 初始化脚手架 3.1.1 说明 3.1.2 具体步骤 3.1.3 模板项目的结构 3.1.4 笔记与代码 3.1.4.1 笔记 3.1.4.2 01_src_分析脚手架 3.2 ref与props 3.2.1 ref 3.2.2 props 3.2.3 笔记与代码 3.2.3.1 笔记 3.2.3.2 02_src_ref属性 3.2.3.3 03_src_props配置 3…

根据应聘者的姓名和所学专业判断是否需要这样的程序设计人员

一、程序分析 导入Scanner函数&#xff0c;分别输入应聘者的姓名和应聘者所学的程序设计语言。 二、具体代码 import java.util.Scanner; public class Recruitment {public static void main(String[] args){try (Scanner scan new Scanner(System.in)) {System.out.prin…

Spring Boot 3 整合 Mybatis-Plus 实现动态数据源切换实战

&#x1f680; 作者主页&#xff1a; 有来技术 &#x1f525; 开源项目&#xff1a; youlai-mall &#x1f343; vue3-element-admin &#x1f343; youlai-boot &#x1f33a; 仓库主页&#xff1a; Gitee &#x1f4ab; Github &#x1f4ab; GitCode &#x1f496; 欢迎点赞…

m_map导入本地地形数据

m_map绘制地形图时&#xff0c;虽然自带有1的地形图以及从NOAA下载的1分的地形图&#xff08;详见&#xff1a;Matlab下地形图绘图包m_map安装与使用&#xff09;&#xff0c;但有时需要对地形图分辨率的要求更高&#xff0c;便无法满足。 此时&#xff0c;需要导入本地地形数…

算法Day22 星南二楼(最长升序子序列)

星南二楼&#xff08;最长升序子序列&#xff09; Description Input Output Sample 代码 import java.util.*;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);int n sc.nextInt();int[] grid new int[n];for(int j0;j&l…

postman接口自动化测试

Postman除了前面介绍的一些功能&#xff0c;还有其他一些小功能在日常接口测试或许用得上。今天&#xff0c;我们就来盘点一下&#xff0c;如下所示&#xff1a; 1.数据驱动     想要批量执行接口用例&#xff0c;我们一般会将对应的接口用例放在同一个Collection中&#xf…

unity 2d 入门 飞翔小鸟 Cinemachine 镜头跟随小鸟 多边形碰撞器 解决镜头不会穿模问题(十二)

1、安装 window->package manager 2、创建Cinemachine 右键->Cinemachine->2D Carmera 3、创建空对象和多边形控制器如图 记得勾选 is Trigger 空对象位置记得要和小鸟保持一致&#xff0c;不然等下写完脚本后&#xff0c;镜头一开始会移动一下 4、将多边形触…

代码随想录算法训练营第四十天|139.单词拆分,多重背包,背包问题

139. 单词拆分 - 力扣&#xff08;LeetCode&#xff09; 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s 。 注意&#xff1a;不要求字典中出现的单词全部都使用&#xff0c;并且字典中的单词可以重复使用。 示例 1&a…

【Delphi】FMX开发 ios 和 android 异同点(踩坑记)

目录 一、前言 二、补充下基础知识 1. APP程序事件&#xff1a;TApplicationEvent 2. APP内置Web服务器或者UDP服务端或者TCP服务端 三、iOS 和 android 平台的不同点 1. TApplicationEvent的不同点&#xff1a;以下不同点&#xff0c;请仔细阅读&#xff01; 2. APP内置…

十八、FreeRTOS之FreeRTOS任务通知

本节需要掌握以下内容&#xff1a; 1、任务通知的简介&#xff08;了解&#xff09; 2、任务通知值和通知状态&#xff08;熟悉&#xff09; 3、任务通知相关API函数介绍&#xff08;熟悉&#xff09; 4、任务通知模拟信号量实验&#xff08;掌握&#xff09; 5、任务通知…

智能无人零售:革新零售消费体验的未来

智能无人零售&#xff1a;革新零售消费体验的未来 在当今数字化时代&#xff0c;智能无人零售正以惊人的速度改变着我们的购物方式和消费体验。这一新兴领域的发展&#xff0c;为消费者带来了前所未有的便利和个性化选择。 智能无人零售是指利用先进的智能技术和自动化系统&…

【面试题:对象引用在内存中存在何处?基于何种计算机原理获取对象的值?】

嗨&#xff0c;小伙伴们&#xff01;小米在这里啦&#xff0c;今天给大家分享一个超有趣的话题——面试题&#xff1a;对象引用是存在内存哪&#xff0c;基于什么计算机原理获取对象的值&#xff1f;废话不多说&#xff0c;让我们一起深入了解一下这个充满技术魅力的问题吧&…

Java 安全框架shiro初探之一

1.Java安全框架除了spring家族另一个就是shiro框架 不过最近还有一个国产框架很好用&#xff1a;Sa-Token 添加链接描述&#xff0c;想了解的小伙伴可以去look look shiro 官方文档 (https://shiro.apache.org/) 1. 学习教程 参考 (https://www.w3cschool.cn/shiro/) Apac…

2024济南大健康展会,第六届中国国际健康产业博览会5月举办

大力发展全国健康事业 助力健康中国行动战略 DJK 2024第6届中国&#xff08;济南&#xff09;国际大健康产业博览会 The 2024 sixth China (Jinan) International Big Health Industry Expo 时间&#xff1a;2024年05月27日—29日 场馆&#xff1a;中国济南黄河国际会展中心 …

JavaScript-节点操作

节点操作 DOM节点 DOM节点&#xff1a;DOM树里每一个内容都称之为节点 节点类型&#xff1a; 元素节点 所有的标签 比如body、divhtml时跟节点 属性节点 所有的属性&#xff0c;比如href 文本节点 所有的文本 其他 查找节点 节点的关系&#xff1a;针对的找亲戚返回的都是…

java_springboot_ssm流浪宠物救助报名管理系统

用户&#xff1a; 注册登录 宠物百科&#xff1a;提供一些养宠物的专业知识、养宠前的注意事项等等 宠物信息&#xff1a;包括宠物图片、品种、性别、年龄、疫苗、领取要求等内容 宠物领养&#xff1a;领养人自己的详细住址、收入情况、有无养过宠物的记录&#xff08;有则出示…

人工智能原理复习--搜索策略(二)

文章目录 上一篇启发式搜索与或图搜索博弈下一篇 上一篇 人工智能原理复习–搜索策略&#xff08;一&#xff09; 启发式搜索 提高一般图搜索效率的关键是优化OPEN表中节点的排序方式 最理想的情况是每次排序OPEN表表首n总在解答路径上 全局排序–对OPEN表中的所有节点进行…