python从入门到精通:循环语句
目录
前言
1、while循环的基础语法
2、while循环的嵌套
3、for循环的基础语法
range语句:
for循环临时变量作用域:
4、for循环的嵌套
5、循环中断:break和continue
前言
循环普遍存在于日常生活中,同样,在程序中,循环功能也是至关重要的功能。
1、while循环的基础语法
程序中的循环:
while 条件:#(布尔类型)
执行内容
# while的简单演示
i = 0;
while i<100:print("hello word!")i += 1;
1、while的条件需要得到布尔类型,True表示继续循环,False表示结束循环
2、、需要设置循环终止的条件,如i +=1 配合 i < 100 ,就能确保100次后停止,否则将无限循环
3、空格缩进和if判断一样,都需要设置
# 案例:计算从1累加到100的和
i = 1;
sum = 0;
while i <= 100:sum += i;i += 1;
print("累加的和为:%s" % sum)
在判断语句中我们写了猜数字的游戏,但代码较为冗杂,现在我们就来优化这个代码。
# 设置一个范围在1~100之间的随机数字:无限次机会,会提示猜的大了还是小了,猜中会提示猜了几次
import random
num =random.randint(1, 100)
count = 0;
flag = True
while flag:guess_num = int(input("请输入您要猜的数字:"));count += 1;if guess_num == num:print("恭喜您!猜中了")flag = Falseelse:if guess_num > num:print("猜大了")else:print("猜小了")
print(f"您一共猜了{count}次")
2、while循环的嵌套
程序中的循环:
while 条件1:
执行内容
while 条件:
执行内容
# while循环的嵌套案例:求1到100的阶乘之和
i = 1;
sum = 0;
fact = 1;
j = 1;
while i <= 100:while j <= i:fact = fact * jj += 1sum = sum + fact;i += 1;
print(sum)
1、同判断语句的嵌套一样,循环语句的嵌套,要注意空格缩进。(基于空格缩进来确定层次关系)
2、注意条件的设置,避免出现无限循环
# 案例:九九乘法表的打印
i = 1;
while i <= 9:j = 1 ;while j <= i:# 内层循环的print语句,不换行,通过\t制表符进行对齐print(f"{i}*{j}={i*j}\t",end='')j += 1;i += 1;print()
3、for循环的基础语法
除了while循环语句外,python同样提供了for循环语句。两者功能类似,但也有区别:
· while循环的循环条件是自定义的,自行控制循环条件
· for循环是一种“轮询”机制,是对一批内容进行“逐个处理”
程序中的for循环:
for 临时变量 in 待处理数据集:
循环满足条件时执行的代码
name = "zhangsan";
for x in name:# 将name内容,挨个取出赋予x临时变量print(x, end='')
可以看出,for循环是将字符串的内容:依次取出,所以,for循环也称之为遍历循环。
同while循环不同,for循环无法定义循环条件,只能从被处理的数据集中,依次对内容进行处理。
# 统计字符串“abcdefaac”中字符a的个数
num_a = "abcdefaac"
count = 0;
for x in num_a:# 依次取出字符if x == 'a':count += 1;
print(count)
range语句:
for循环中的待处理数据集,严格意义来说称之为序列类型,序列类型指,其内容可以一个个一次取出来的一种类型,包括:字符串、列表、元组等。
语法1:
range(num)
# 获取一个从0开始到num结束的数字序列(不含num本身)
# 如range(5)取得的数据是:[0,1,2,3,4]
语法2:
range(num1,num2)
# 获取一个从num1开始,到num2结束的数字序列(不含num2本身)
# 如range(5,10)取得的数据是:[5,6,7,8,9]
语法3:
range(num1,num2,step)
# 获取一个从num1开始,到num2结束的数字序列(不含num2本身)
# 数字之间的步长,以step为准(step默认为1)
# 如range(5,10,2)取得的数据是:[5,7,9]
# 统计偶数的数量
num = int(input("请输入数字:"))
count = 0;
for x in range(1,num):if x %2 == 0:count += 1;
print(count)
for循环临时变量作用域:
for x in range(5):print(x)
print(x)
# 最后一行代码在规范上是不能运行的,但实际上是可以运行的,x属于临时变量
临时变量,在编程规范上,作用域,只限定在for循环内部。但外部进行访问实际上也是可以反问道的,但规范上不允许。
如果需要访问临时变量,可以预先在循环外定义它。
4、for循环的嵌套
程序中的嵌套for循环:
for 临时变量 in 待处理数据集:
循环满足条件时执行的代码
......
for 临时变量 in 待处理数据集:
循环满足条件时执行的代码
# for循环的嵌套实现九九乘法表
i = 1;
j = 1;
for i in range(1,10):for j in range(1,i+1):print(f"{i}*{j}={i*j}\t",end='')print()
5、循环中断:break和continue
无论是while循环还是for循环,都是重复性的执行特定操作。在这个重复的过程中,会出现一些情况:
· 暂时跳过某次循环,直接进行下一次(continue)
· 提前退出循环,不再继续(break)
continue用于中断本次循环,直接进行下一次循环,可以用于for循环和while循环。
for i in range(1,100):
语句1
continue
语句2
在循环中,遇到continue就结束当次循环,进行下一次,所以本次语句2不执行。
break用于直接结束循环,可以用于for循环和while循环。
for i in range(1,100):
语句1
break
语句2
语句3
在循环内,遇到break就结束循环了,所以执行语句1后,直接执行语句3。
# 发工资案例:员工编号1到20,账户余额1w,每人可领取1000,领工资时如果绩效分(1-10)(随机生成)低于5,不发工资,直接下一位
money = 10000
for num in range(1,21):# 每次循环产生一个随机数字import randomgrade = random.randint(1, 10)if grade < 5:print(f"员工{num}绩效分低于5,不发工资,直接下一位")continueif money >= 1000:money -= 1000;print(f"员工{num}满足发工资条件,公司余额:{money}")else:print(f"公司余额不足,余额:{money},请下个月再来")break
相关文章:

python从入门到精通:循环语句
目录 前言 1、while循环的基础语法 2、while循环的嵌套 3、for循环的基础语法 range语句: for循环临时变量作用域: 4、for循环的嵌套 5、循环中断:break和continue 前言 循环普遍存在于日常生活中,同样,在程序中…...

Codeforces Round 965 (Div. 2)
前言 有人在过七夕,我在打 cf ,还有某人独自一人在学校机房,凌晨一点骑上共享单车回宿舍欣赏沿途的秋风扫落叶。 Standings:2166 题目链接:Dashboard - Codeforces Round 965 (Div. 2) - Codeforces A. Find K Distin…...

Win10下载安装Mysql服务
Win10下载安装MySQL 一、官网下载MySQL 1.官网地址: https://www.mysql.com/ 2.在官网首页拉到最下方,点击MySQL Community Server: 3.根据个人电脑的操作系统选择,此处以Windows x64为例,选择第2个,点击…...

MVVM(Model-View-ViewModel)架构模式
在Android开发中,MVVM(Model-View-ViewModel)架构模式已经成为构建可维护和可扩展应用程序的重要选择。MVVM模式通过分离视图(View)、模型(Model)和视图模型(ViewModel)来…...

C#MVC返回DataTable到前端展示。
很久没写博客了,闭关太久,失踪人口回归,给诸位道友整点绝活。 交代下背景:要做一个行转列的汇总统计,而且,由于是行转列,列的数量不固定,所以,没法使用正常的SqlSugar框…...

HttpUtils工具类(二)Apache HttpClient 5 使用详细教程
目录 一、Apache HttpClient 5介绍 (1)核心特性 (2)Apache HttpClient 5 的新特性 (3)在 Java 项目的主要使用场景及缺点 使用场景: 缺点: 二、在实际项目中的应用 …...

Vue3.0生命周期钩子(包含:Vue 2.0 和 Vue 3.0)
1、Vue 2.0 生命周期钩子 每个应用程序实例在创建时都有一系列的初始化步骤。例如,创建数据绑定、编译模板、将实例挂载到 DOM 并在数据变化时触发 DOM 更新、销毁实例等。在这个过程中会运行一些叫做生命周期钩子的函数,通过这些钩子函数可以定义业务逻…...

遥感之常用各种指数总结大全
目前在遥感领域基本各种研究领域都会用到各种各样的指数,如水体指数,植被指数,农业长势指数,盐分指数,云指数,阴影指数,建筑物指数,水质指数,干旱指数等等众多。 本文对上…...

【C++】C++11新增特性
目录 C11简介: 1、统一的列表初始化: std::initializer_list 2、自动类型推导: auto: decltype: 3、final 和 override final: override: 4、默认成员函数控制: 显示缺省…...

【LeetCode每日一题】——662.二叉树最大宽度
文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 广度优先搜索 二【题目难度】 中等 三【题目编号】 662.二叉树最大宽度 四【题目描述】 给…...

第二十三节、血量更新逻辑的实现
一、创建代码 引入命名空间 using UnityEngine.UI; 调用UI必须有这个代码 二、ScriptObject类 1、是一个持久化存储文件的类型 接收所有的事件方法 先继承SO类,然后创建项目菜单 2、进行订阅 放入事件类,关联代码,即可进行广播 传递给这…...

Spring Authorization Server 认证服务器搭建
Spring Authorization Server实现了oauth2和oidc,最近有了解相关技术的需求,所以就尝试着进行了基本的环境搭建和技术测试,目前只测试了授权码模式,做一个记录,后续需要用时方便查找和参考。 1. 版本要求 Spring Authorization Server 版本:1.3.1 JDK 版本:17 Spring B…...

秋招突击——8/15——知识补充——垃圾回收机制
文章目录 引言正文指针引用可达性分析算法垃圾回收算法标记清除算法标记整理算法复制分代收集 垃圾收集器Serial收集器ParNew并行收集器Parallel Scavenge吞吐量优先收集器Serial Old老年代收集器Parallel old收集器CMS收集器G1收集器(Garbage First垃圾优先&#x…...

【iOS】UITableViewCell的重用问题解决方法
我自己在实验中对cell的重用总结如下: 非自定义Cell和非自定义cell的复用情况一样: 第一次加载创建tableView的时候,是屏幕上最多也显示几行cell就先创建几个cell,此时复用池里什么都没有开始下滑tableView,刚开始滑…...

开发一个微信小程序商城需要哪些技术栈
开发一个小程序商城需要掌握以下技术栈: 前端技术:包括HTML、CSS和JavaScript,用于定义商城的页面结构、样式设计和交互功能。 微信小程序专用技术:如WXML、WXSS、JavaScript和JSON,用于描述小程…...

望繁信科技荣膺上海市浦东新区博士后创新实践基地称号
近日,上海望繁信科技有限公司(简称“望繁信科技”)凭借在大数据流程智能领域的卓越表现,成功入选上海市浦东新区博士后创新实践基地。这一荣誉不仅是对望繁信科技创新能力和技术实力的高度认可,也标志着公司在推动产学…...

Nginx--代理与负载均衡(扩展nginx配置7层协议及4层协议方法、会话保持)
前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除 一、代理原理 1、反向代理产生的背景 单个服务器的处理客户端(用户)请求能力有一个极限,当接入请求过多时&#…...

Ubuntu20.4 系统安装后无wifi图标
0. 问题排查 1.检查 BIOS 设置: 有时候,无线网卡可能在 BIOS 中被禁用。重启电脑,进入 BIOS 设置,确保无线网卡选项是启用的。 2.检查硬件开关: 检查您的笔记本电脑是否有物理开关或键盘快捷键来启用或禁用无线网卡。 3.在软件更新中切换…...

牛客网SQL进阶135 :每个6/7级用户活跃情况
每个67级用户活跃情况_牛客题霸_牛客网 0 问题描述 基于用户信息表user_info、、试卷作答记录表exam_record、题目练习记录表practice_record,统计 每个6/7级用户总活跃月份数、2021年活跃天数、2021年试卷作答活跃天数、2021年答题活跃天数,结果 按照总…...

SQLite3使用接口写入二进制文件
使用接口的方式写入二进制文件 ,有二种方案。 一、全部文件 一次性写下到数据中 使用sqlite3_bind_blob接口 FILE* fpfopen("user.bmp","rb"); iLenfread(buffer,1,65535,fp); fclose(fp);sqlite3_prepare(pDB,"insert into user values …...

在复杂的数据库架构中,如何优化 SQL 查询以提高性能和减少资源消耗?
在优化 SQL 查询以提高性能和减少资源消耗时,可以考虑以下几个方面: 使用索引:为经常被查询的列创建索引,可以大大加快查询速度。同时,避免过多的索引,因为过多的索引会增加写入操作的开销。 编写高效的查…...

【HarmonyOS】端云一体化初始化项目
简介 端云一体化开发是HarmonyOS对云端开发的支持、实现端云联动。云开发服务提供了云函数、云数据库、云存储等服务,可以使开发者专注于应用的业务逻辑开发,无需关注基础设施,例如:服务器、操作系统等问题。 因此,…...

LLM之KG:利用大语言模型(LLM)对文本语料提取概念和概念之间的语义关系进而实现自动构建知识图谱
LLM之KG:利用大语言模型(LLM)对文本语料提取概念和概念之间的语义关系进而实现自动构建知识图谱 目录 ML之KG:基于MovieLens电影评分数据集利用基于知识图谱的推荐算法(networkx+基于路径相似度的方法)实现对用户进行Top电影推荐案例 LLMs之AutoKG:《大型语言模型在知识图…...

Spring Security 6如何使用?
Spring Security 6 是一个功能强大且高度可定制的身份验证和访问控制框架,它专注于为基于Java的应用程序提供全面的安全解决方案。以下是对Spring Security 6的详细解析: 一、核心功能 身份验证(Authentication): 验…...

PyTorch深度学习快速入门教程--学习笔记
目录 P4 PyCharm和Jupyter的对比 P5 PyTorch加载数据 P6 Dataset类代码实现 P7 Tensorboard 写日志 读取日志文件 Tensorboard 读图片 P10 Transforms使用 Transforms用途 常见的Transforms工具 P14 torchvision数据集使用 P15 Dataloader使用 P16 nn.Module模块使…...

SQLALchemy 分组过滤、子查询
SQLALchemy 分组过滤、子查询 分组和过滤(Group By Having)示例:使用ORM示例:使用SQLAlchemy Core子查询(Subquery)SQLAlchemy 是一个流行的 SQL 工具包和对象关系映射(ORM)库,用于 Python 应用程序。它允许你以 Pythonic 的方式使用 SQL 数据库,同时提供了强大的查询…...

华为od(D卷) 环中最长子串/字符成环找偶数LOX
文章目录 题目描述输入描述输出描述示例1示例2示例3思路代码 题目描述 给你一个字符串 s,字符串 s 首尾相连成一个环形,请你在环中找出 ‘l’、‘o’、‘x’ 字符都恰好出现了偶数次最长子字符串的长度。 输入描述 输入是一串小写的字母组成的字符串 …...

机器学习--常见算法总结
有监督学习算法 1. 线性回归算法 概念:线性回归是一种统计方法,用于预测一个变量(因变量)与一个或多个自变量(特征变量)之间的关系。目标是通过线性方程建立自变量和因变量之间的关系模型。 作用&#x…...

QT 网络聊天室简易版
视频:qt开发网络聊天w室软件3.4界面开发_哔哩哔哩_bilibili 目录 UI部分 设计稿图 放置控件 界面美化 拖动窗体 设置界面 网络部分 配置对话框 多项目结果和服务器端设计 客户端框架开发 UI部分 设计稿图 放置控件 界面美化 现在我们把窗体自带的标题栏给去了,用我们自…...

Linux_Shell三剑客grep,awk,sed-08
三剑客的概述: awk、grep、sed是linux操作文本的三大利器,合称文本三剑客,也是必须掌握的linux命令之一。三者的功能都是处理文本,但侧重点各不相同,其中属awk功能最强大,但也最复杂。grep更适合单纯的查找…...