湖南省造价管理站官网/合肥seo网络营销推广
Python-第四天 Python循环语句
- 一、while循环
- 1.while循环的基础语法
- 2.while循环的基础案例
- 3.while循环的嵌套应用
- 4.while循环的嵌套案例
- 二、for循环
- 1.for循环的基础语法
- 1.1基础语法
- 1.2 range语句
- 2.for循环的嵌套应用
- 三、循环中断 : break和continue
- 1.continue
- 2.break
- 四、 综合案例
一、while循环
1.while循环的基础语法
while 条件:条件满足时,做的事件1条件满足时,做的事件2条件满足时,做的事件3.....
只要条件满足,会无限循环执行
i = 0
while i < 100:print("小美,我喜欢你")i += 1
- while的条件需得到布尔类型,True表示继续循环,False表示结束循环
- 需要设置循环终止的条件,如i += 1配合 i < 100,就能确保100次后停止,否则将无限循环
- 空格缩进和if判断一样,都需要设置
练习案例:求1-100的和
需求:通过while循环,计算从1累加到100的和
提示:
- 终止条件不要忘记,设置为确保while循环100次
- 确保累加的数字,从1开始,到100结束
i = 0
sum = 0
while i <= 100:sum += ii+=1
print(sum)
2.while循环的基础案例
猜数字案例
设置一个范围1-100的随机整数变量,通过while循环,配合input语句,判断输入的数字是否等于随机数
- 无限次机会,直到猜中为止
- 每一次猜不中,会提示大了或小了
- 猜完数字后,提示猜了几次
提示:
- 无限次机会,终止条件不适合用数字累加来判断,可以考虑布尔类型本身(True or False)
- 需要提示几次猜中,就需要提供数字累加功能
- 随机数可以使用:
import random
num = random.randint(1,100)
import random
num = random.randint(1,100) #获得随机整数flag = True #设置循环
count = 0 #猜了几次while flag:guess_num = int(input('请输入数字猜大小:')) # 获取输入数字count += 1 #每输入一次就猜了一次if guess_num == num:flag = False #猜对了就结束循环else: #猜错了,要么大,要么小if guess_num > num:print('大了')else:print('小了')#结束循环后输出猜的数字和次数
print(f'猜了{count}次,猜对了底数是:{num}')
3.while循环的嵌套应用
语法
while 条件1:条件1满足时,做的事件1条件1满足时,做的事件2条件1满足时,做的事件3.....while 条件2:条件2满足时,做的事件1条件2满足时,做的事件2条件2满足时,做的事件3.....
i= 1
while i <=100:print(f'今天是第{i}天,准备表白......')j = 1while j<=10:print(f'送给小美第{j}只玫瑰花')j+=1print('小美,我喜欢你')i+=1print(f'坚持到第{i-1}天,表白成功')
- 同判断语句的嵌套一样,循环语句的嵌套,要注意空格缩进。
- 基于空格缩进来决定层次关系
- 注意条件的设置,避免出现无限循环(除非真的需要无限循环)
4.while循环的嵌套案例
案例:掌握使用while嵌套循环,打印九九乘法表
补充知识:
1.print输出不换行 在print语句中,加上 end=’’ 即可输出不换行了
print(‘Hello’,end=‘’)
print(‘World’,end=‘’)
2.通过制表符,让多行字符串对齐。
在字符串中,有一个特殊符号:\t,效果等同于在键盘上按下:tab键。
它可以让我们的多行字符串进行对齐。
print('Hello World')
print('ithema best' )print('Hello\tWorld')
print('ithema\tbest' )
有了以上知识,就能打印九九乘法表了
i = 1
while i <=9:j=1while j <=i:print(f'{j} * {i} = {i*j}\t',end='')j +=1i +=1print()
二、for循环
1.for循环的基础语法
1.1基础语法
除了while循环语句外,Python同样提供了for循环语句。
两者能完成的功能基本差不多,但仍有一些区别:
- while循环的循环条件是自定义的,自行控制循环条件
- for循环是一种”轮询”机制,是对一批内容进行”逐个处理”
for 临时变量 in 待处理数据集: 循环满足条件时执行的代码
从待处理数据集中:逐个取出数据
赋值给临时变量
# 定义字符串name
name = 'itheima'
# for循环处理字符串
for x in name:print(x)
可以看出,for循环是将字符串的内容:依次取出
所以,for循环也被称之为:遍历循环
- 同while循环不同,for循环是无法定义循环条件的。
- 只能从被处理的数据集中,依次取出内容进行处理。
- 所以,理论上讲,Python的for循环无法构建无限循环(被处理的数据集不可能无限大)
练习案例:数一数有几个a
定义字符串变量name,内容为:“itheima is a brand of itcast”
通过for循环,遍历此字符串,统计有多少个英文字母:“a”
提示:
- 计数可以在循环外定义一个整数类型变量用来做累加计数
- 判断是否为字母"a",可以通过if语句结合比较运算符来完成
str = 'itheima is a brand of itcast'
count = 0
for i in str:if i == 'a':count +=1
print(f'{str}中有共含有:{count}个字母a')
1.2 range语句
for 临时变量 in 待处理数据集(可迭代对象): 循环满足条件时执行的代码
语法中的:待处理数据集,严格来说,称之为:可迭代类型
可迭代类型指,其内容可以一个个依次取出的一种类型
,包括:
- 字符串
- 列表
- 元组
- 等
目前我们只学习了字符串类型,其余类型在后续章节会详细学习它们
range语句语法
#语法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]
例如:for循环遍历range序列
# for循环处理字符串
for i in range(5): print(i)
结果如下
练习案例:有几个偶数
定义一个数字变量num,内容随意,并使用range()语句,获取从1到num的序列,使用for循环遍历它。在遍历的过程中,统计有多少偶数出现
提示:
- 序列可以使用:range(1, num)得到
- 偶数通过if来判断,判断数字余2是否为0即可
num = 100
count = 0
for i in range(1,100):if i % 2 == 0:count+=1
print(f'1到{num}(不含{num}本身)范围内,有{count}个偶数')
2.for循环的嵌套应用
同while一样,for循环也支持嵌套使用
语法
for 临时变量 in 待处理数据集(序列):循环条件满足应做的事件1循环条件满足应做的事件2循环条件满足应做的事件N...for 临时变量 in 待处理数据集(序列):循环条件满足应做的事件1循环条件满足应做的事件2循环条件满足应做的事件N...
我们目前学习了2个循环,while循环和for循环。
这两类循环语句是可以相互嵌套的。
练习案例-for循环打印九九乘法表
通过for循环,输出如下九九乘法表内容
提示:
- 2层循环,外层控制行,内层控制列
- 可使用range语句来得到数字序列进行for循环
- 内层for循环的range最大范围,取决于当前外层循环的数字
for i in range(1,10):for j in range(1,i+1):print(f'{j} * {i} = {i*j}\t',end='')print()
三、循环中断 : break和continue
Python提供continue和break关键字
用以对循环进行临时跳过和直接结束
1.continue
continue
关键字用于:中断本次循环,直接进入下一次循环
continue
可以用于: for循环和while循环,效果一致
continue关键字只可以控制:它所在的循环临时中断
continue只能控制左图编号1的for循环
对编号2的for循环,无影响
2.break
break
关键字用于:直接结束所在循环
break
可以用于: for循环和while循环,效果一致
break关键字同样只可以控制:它所在的循环永久中断
reak只能控制左图编号1的循环
对编号2的循环,无影响
四、 综合案例
练习案例:发工资
某公司,账户余额有1W元,给20名员工发工资。
- 员工编号从1到20,从编号1开始,依次领取工资,每人可领取1000元
- 领工资时,财务判断员工的绩效分(1-10)(随机生成),如果低于5,不发工资,换下一位
- 如果工资发完了,结束发工资。
提示: - continue用于跳过员工,break直接结束发工资
- if判断余额,不要忘记发完工资后,余额减少1000哦
import random
money = 10000 #总钱数
employee_num=1 #员工编号for employee_num in range(1,21):performance = random.randint(1, 10) # 绩效if performance < 5:print(f'员工{employee_num},绩效分{performance},低于5,不发工资,下一位')continueif money == 0:print('工资发完了,下个月领吧')breakmoney -= 1000print(f'向员工{employee_num}发放工资1000元,账户余额还剩{money}元')
相关文章:

Python-第四天 Python循环语句
Python-第四天 Python循环语句一、while循环1.while循环的基础语法2.while循环的基础案例3.while循环的嵌套应用4.while循环的嵌套案例二、for循环1.for循环的基础语法1.1基础语法1.2 range语句2.for循环的嵌套应用三、循环中断 : break和continue1.continue2.break四、 综合案…...

spring中bean的生命周期(简单5步)
目录 一、概念 1.生命是bean的生命周期? 2.知道bean生命周期的意义? 3.bean的生命周期按照粗略的五步 二、例子讲解 一、概念 1.生命是bean的生命周期? 答:spring其实就是管理bean对象的工厂,它负责对象的创建&…...

10 个最难理解的 Python 概念
文章目录技术提升面向对象编程 (OOP)装饰器生成器多线程异常处理正则表达式异步/等待函数式编程元编程网络编程大家好,与其他编程语言相比,Python 是一门相对简单的编程语言,如果你想真正学透这门语言,其实可能并不容易。 今天我…...

【linux】线程概念
概念 什么是线程 在一个程序里的一个执行路线就叫做线程(thread)。更准确的定义是:线程是“一个进程内部的控制序列” 一切进程至少都有一个执行线程,线程在进程内部运行,本质是在进程地址空间内运行 在Linux系统中&a…...

Leg转Goh引擎和架设单机+配置登陆器教程
教程准备1、Leg版本一个2、Goh引擎一套3、电脑一台(最好联网)前言:BLUE/LEGS/Gob/Goh/九龍、4K、AspM2第一步:更换引擎1、把版本自带的LEG引擎换成Goh引擎2、删除服务端里面的exe、dll文件(也可以直接更新)3、清理登录和游戏网关里面的配置文件4、更新引…...

idea整合svn
idea整合svn svn下载 链接:https://pan.baidu.com/s/1yS3R3lEE8lm9c9Ap-ndDKg 提取码:65ur 基础步骤 IDED中配置SVN没有svn.exe解决办法 以下是两种解决方案 需要卸载原 svn(不推荐) 参考网址: https://blog.csdn.…...

字节青训前端笔记 | 数据可视化基础
本课程主要内容可以分为三个章节: 数据可视化的基本概念可视化设计的基本原则面向前端的可视化工具 本手册可以作为学生学习数据可视化的“学习指南”,按照手册所列内容,结合扩展资料进行系统的学习和实践。本课程没有讨论更为前沿的可视化…...

ROS运行机C++程序,移动
流程: 1.创建工作空间 mkdir catkin_ws cd catkin_ws mkdir src cd src catkin_init_workspace 2编译工作空间 cd ~/catkin_ws/ catkin_make catkin_make install 首先对ROS进行创建一个元功能包 3.设置环境变量 source devel/setup.bash source devel/setup.b…...

C++中编译静态库与动态库
1.库的理解库就是写好的现有的,成熟的,可复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。本质上来说库是一种可执行代码的二进制形式,是预编译代码的集…...

shell中sed命令用法
一、sed命令解析 1、sed工具概述 Stream EDitor,流式编辑器 - 非交互,基于模式匹配过滤及修改文本 - 逐行处理,并将结果输出到屏幕 - 可实现对文本的输出、删除、替换、复制、剪切、导入、导出等操作 2、命令格式解析 主要用法: …...

【VictoriaMetrics】VictoriaMetrics启停脚本
先看结果,启动VictoriaMetrics UI界面可访问...

高性能网络SIG月度动态:SMC 与 IBM 就扩展协议达成一致,virtio 支持 XDP 新特性
高性能网络 SIG(Special Interest Group) :在云计算时代,软硬件高速发展,云原生、微服务等新的应用形态兴起,让更多的数据在进程之间流动,而网络则成为了这些数据流的载体,在整个云时…...

【正点原子FPGA连载】第七章程序固化实验摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Vitis开发指南
第七章程序固化实验 在前面的几个实验中,我们都是通过JTAG接口将FPGA配置文件和应用程序下载到MPSOC器件中。接下来我们将尝试把程序存储在非易失性存储器中,在上电或者复位时让程序自动运行,这个过程需要启动引导程序(Boot Load…...

LeetCode-2335. 装满杯子需要的最短总时长【贪心,数学】
LeetCode-2335. 装满杯子需要的最短总时长【贪心,数学】题目描述:解题思路一:其实像一道数学题目。假设三个杯子x<y<z先分两种情况。第一种:xy<z,答案直接是最大的z。第二种:xy>z。先将x与y互相…...

基于 oss 框架的音频驱动
基于 oss 框架完成系统平台音频驱动的适配。 oss 框架可被多个平台应用,因此 oss 提供 OS 目录来存放平台文件(比如:linux.c),该文件主要提供平台对 oss 框架封装后的相关接口。 以 Linux 为例,入口接口为…...

【golang】如何定制化zap日志库以及如何使用
Zap 日志 前言 本文主要介绍Go语言日志库如何简易定制化,以及如何在开发中使用。 为什么需要日志? 一个产品的诞生一定是因为有需求!新技术大部分都是为了更加便利和实用而诞生的,日志也不例外。日志顾名思义就是对整个项目的事件进行记…...

如何将 Ubuntu 升级到 22.04 LTS Jammy Jellyfish
在本教程中,我们将详细介绍如何将你的 Ubuntu 系统升级到版本 22.04 Jammy Jellyfish,这是最新的长期支持版本。 Ubuntu 22.04 LTS Jammy Jellyfish 将于 2022 年 4 月 21 日发布。它是下个两年一次的长期支持(LTS)版本,因此值得注意,而且现在 Ubuntu 21.10 的用户可以升…...

ubuntu20.04安装docker与docker-compose
安装docker 查看系统发行版本 cat /proc/version1、更新apt包 sudo apt-get update2、安装必备的软件包以允许apt通过 HTTPS 使用存储库(repository): sudo apt-get install ca-certificates curl gnupg lsb-release3、添加Docker官方版本…...

笔试题-2023-加特兰-数字IC设计【纯净题目版】
回到首页:2023 数字IC设计秋招复盘——数十家公司笔试题、面试实录 推荐内容:数字IC设计学习比较实用的资料推荐 题目背景 笔试时间:2022.07.27应聘岗位:数字电路设计工程师(SoC) - 2023届笔试时长:90min笔试平台:nowcoder牛客网题目类型:问答题(11道)主观评价 难易…...

动态内存管理
目录1.为什么要动态内存分配2.动态内存函数malloc](https://cplusplus.com/reference/cstdlib/malloc/?kwmalloc)和[freecallocrealloc3.使用动态内存要注意的几点对NULL的解引用对同一块动态内存多次释放free非动态开辟的内存使用free释放一块动态开辟内存的一部分一个函数中…...

Unsupervised Question Answering 简单综述
Unsupervised Question Answering by Cloze Translation, ACL 2019 随机从文本中抽取noun phrases或者named entity作为答案将答案部分mask掉,生成cloze question利用无监督翻译,将cloze question转化为natural question 缺点: 直接利用原句…...

智慧物流管理系统
智慧物流运用物联网、大数据、云计算、人工智能等技术优化物流决策过程。智慧物流获取、分析物流信息并做出决策,从商品源开始实时跟踪与管理,保证信息流快于商品流,实现信息与物质快速、高效、流畅地运转,集自动化、数字化、网络…...

单表查询--实例
#素材: 表名:worker-- 表中字段均为中文,比如 部门号 工资 职工号 参加工作 等 >CREATE TABLE worker ( >部门号 int(11) NOT NULL, >职工号 int(11) NOT NULL, >工作时间 date NOT NULL, >工资 float(8,2) NOT NULL, >政治…...

c语言递归 累和 ,累乘积,斐波那契数列,字符串长度
目录 递归使用场景 1:使用递归的方式计算 Sn123..100 2:计算 n!n*(n-1)*(n-2)*......*1; 3:计算输出斐波那契数列前20项,并按每行4个数的格式输出(2019年) 4: 用递归和非递归两种方式编写函数strlength()。该函数…...

数据与C(ASCII码,char)
目录 一.ASCII码讲解 二.非打印字符(转义字符) 三.扩展小知识 一.ASCII码讲解 char类型用于存储字符,从技术层面看,char时整数类型,因为char类型实际上存储的是整数而不是字符。计算机使用数字编码来处理字符&…...

第一个C语言代码(visual studin创建调试以及项目文件功能讲解)
这里我主要使用visual Studio进行编程 目录 一.创建项目 二.编写代码 1.代码编写 2.代码分析 3.main() 4.注释符 5.{} 花括号 6.声明 7.赋值 8.printf()函数 9.return 0; 一.创建项目 这里大家可能会比较疑惑,为啥都是C,没看见C的项目&…...

VIF原理
文章目录一、VIF公式和原理对于R方一般回归模型皮尔逊相关系数中的方差VIF原理:一、VIF公式和原理 所谓VIF方法,计算难度并不高。在线性回归方法里,应用最广泛的就是最小二乘法(OLS),只不过我们对每个因子…...

nginx相关反爬策略总结笔记
引言 互联网站点的流量一部分由人类正常访问行为产生,而高达30%-60%的流量则是由网络爬虫产生的,其中一部分包含友好网络爬虫,如搜索引擎的爬虫、广告程序、第三方合作伙伴程序、Robots协议友好程序等;而并非所有的网络爬虫都是友好的&#x…...

【Vue3】电商网站吸顶功能
头部分类导航-吸顶功能 电商网站的首页内容会比较多,页面比较长,为了能让用户在滚动浏览内容的过程中都能够快速的切换到其它分类。需要分类导航一直可见,所以需要一个吸顶导航的效果。 目标:完成头部组件吸顶效果的实现 交互要求 滚动距离大…...

HOMER docker版本安装详细流程
概述 HOMER是一款100%开源的针对SIP/VOIP/RTC的抓包工具和监控工具。 HOMER是一款强大的、运营商级、可扩展的数据包和事件捕获系统,是基于HEP/EEP协议的VoIP/RTC监控应用程序,并可以使用即时搜索、处理和存储大量的信令、RTC事件、日志和统计信息。 …...