Day 05 python学习笔记
循环
应用:循环轮播图 最基础、最核心
循环:周而复始,谓之循环 (为了代码尽量不要重复)
while循环
while的格式
索引定义
while 表达式(只要结果为布尔值即可):
循环体
通过条件的不断变化,从而确定循环体是否继续执行
例:
死循环(无限循环)
while Ture: (非0即为真)
循环体
循环中断
continue:终端本次循环,直接进入下一次循环
break:直接结束循环,遇见break,直接全部gameover
例:
输出0-100
index = 0
while index <= 100:print(index)index += 1
让其在输出49后终止循环
index = 1
while index <= 100:if index == 50:break #直接跳出循环print(index)index += 1index = 1
while index <= 100: #continue会使代码回到这if index == 50:continue #回到循环判断条件处print(index)index += 1 #本代码会输出0-49后卡住,因为陷入死循环index = 0
while index < 100: #注意代码这边改为 < 无 =index += 1 #顺序改变,结果会输出0-49,51-100(无50)if index == 50:continue print(index)
print("循环结束") #只会在最后执行一次(只有在while后且缩进的才归其管)
while……else
while condition:代码
else:代码
else后面的代码:当循环正常结束之后要执行的代码
例:
i = 1
while i <= 5:if i == 3:print('不真诚')i += 1break #直接跳出循环包括elseprint('我错了,思密达~')i += 1
else:print('她原谅我了') #不打印,循环未正常结束结果:
我错了,思密达~
我错了,思密达~
不真诚i = 1
while i <= 5:if i == 3:print('不真诚')i += 1continue #循环继续进行,只暂停一次循环print('我错了,思密达~')i += 1
else:print('她原谅我了')结果:
我错了,思密达~
我错了,思密达~
不真诚
我错了,思密达~
我错了,思密达~
她原谅我了
只有代签执行完毕了,才会被原谅
中途break,else下边缩进的代码不会执行
中途continue,else下边缩进的代码会执行
规划好条件
练习:求1-100的累加和(终止条件 1-100)
count = 0
index = 0
while index <= 100:count += indexindex += 1
print(count)结果:
5050
循环嵌套
举例:
坚持每天送10朵花100天,然后就可以表白成功
i = 1
while i <= 7:print(f"今天是第{i}天,准备表白思密达~")j = 1while j <= 10:print(f"送她第{j}朵花花")j += 1i += 1
print(f"坚持到{i-1}天表白成功")结果:
。。。
送她第9朵花花
送她第10朵花花
今天是第6天,准备表白思密达~
送她第1朵花花
送她第2朵花花
送她第3朵花花
送她第4朵花花
送她第5朵花花
送她第6朵花花
送她第7朵花花
送她第8朵花花
送她第9朵花花
送她第10朵花花
今天是第7天,准备表白思密达~
送她第1朵花花
送她第2朵花花
送她第3朵花花
送她第4朵花花
送她第5朵花花
送她第6朵花花
送她第7朵花花
送她第8朵花花
送她第9朵花花
送她第10朵花花
坚持到7天表白成功
内层添加break
i = 1
while i <= 7:print(f"今天是第{i}天,准备表白思密达~")j = 1while j <= 10:print(f"送她第{j}朵花花")if j == 2:break #只结束包含break最近(里)的一个循环j += 1i += 1
print(f"坚持到{i-1}天表白成功")结果: #外层循环不结束
今天是第1天,准备表白思密达~
送她第1朵花花
送她第2朵花花
今天是第2天,准备表白思密达~
送她第1朵花花
送她第2朵花花
今天是第3天,准备表白思密达~
送她第1朵花花
送她第2朵花花
今天是第4天,准备表白思密达~
送她第1朵花花
送她第2朵花花
今天是第5天,准备表白思密达~
送她第1朵花花
送她第2朵花花
今天是第6天,准备表白思密达~
送她第1朵花花
送她第2朵花花
今天是第7天,准备表白思密达~
送她第1朵花花
送她第2朵花花
坚持到7天表白成功
练习:
打印:
*
**
***
****
*****
i = 1
n = int(input("请输入打印的层数:"))
while i <= n:j = 1while j <= i: #打印一行print("*", end="") #end去除换行j += 1print() #一行结束换行i += 1结果:
请输入打印的层数:5
*
**
***
****
*****
练习:
99乘法表
i = 1
while i <= 9: #控制列数j = 1while j <= i: #打印一行print(f"{i}*{j}={i*j}\t",end="" ) #\t水平制表符(相当于8个空格)j += 1 #end取消换行i += 1print()结果:
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
for循环
基础语法:
for 临时变量 in 待处理数据集:
循环满足条件时执行的代码
轮询机制
对一批内容进行挨个处理---待办事项逐个完成的机制
遍历循环,一次取出
无法定义循环条件,理论上,无法构建无限循环
迭代容器中每一个元素
例:
#while循环 缺点:不能对无索引下标的容器进行迭代(例:集合)
list = [3,4,5,6]
i = 0 #i作为索引下标
while i < len(list):print(list[i])i +=1#for遍历
for i in list: #i为临时变量,从list中取出元素依次放入i中print(i)结果:
3
4
5
6
3
4
5
6例:
#for既能遍历有序的容器,也能遍历无须的
set_01 = {1,2,3,"l love you"}
for i in set_01:print(i)结果:
1
2
3
l love you
练习:
”l love you“ 判断是否有o几个
name = 'l love you'
count = 0
for i in name:if i == "o":count += 1
print(f"一共有{count}个o")结果:
一共有2个o
不止能迭代容器,还可以完成普通循环
rang语句
range语句:获得一个简单的数字序列(生成一系列连续的整数)
格式:
range(start,end,step)
例:
range(num) :[0,num) (左闭右开,序列0 - num-1)从0开始,到5结束的数字序列,不包含5本身
range(5)===>[0,1,2,3,4] 默认从0开始
range(1,5)===>[1,2,3,4] 从1-5,不包含5
range(1,10,2)===>[1,3,5,7,9]第三个数字代表数字之间的步长,不含10本身
特别:
for i in range(100,0,-2): #step为复数,注意start与end也须反过来print(i)结果:
100
98
96
...
10
8
6
4
2
练习:
1、求1-100的累加和(终止条件 1-100)
例:
sum = 0
for i in range(0,101):sum += i
print(sum)结果:
5050
2、
例:
num = int(input("请输入遍历终止值:"))
count = 0
for i in range(1, num+1):if i % 2 == 0:count += 1
print(f"有{count}个偶数")结果:
请输入遍历终止值:5
有2个偶数
for循环变量的作用域
临时变量在编程规范上,作用范围,只限定在for循环内部
实际上,for循环外部可以访问到,编程规范上,是不允许,不建议的
例:(不规范)
想要使用,在循环之前将该变量定义
例:
for i in range(5):print(i)
print(i)结果:
0
1
2
3
4
4i = 2
for i in range(5):print(i)
print(i) #所以建议不要用到临时变量结果:
0
1
2
3
4
4
for循环的嵌套使用
空格缩进
练习:
for循环打印九九乘法表
i = 1
while i < 10:j = 1while j < i+1:print(f'{j}* {i} = {i * j}\t', end=' ')j += 1i += 1print()1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
练习:
# 打印几层:5 # * # ** # *** # **** # *****
layer = int(input("请输入打印的层数:"))
for i in range(1, layer+1):#先打印空格space_nums = layer - i #空格数 = 总行数 - 第几行(即 * 数) for j in range(space_nums): #或者(1,space_nums+1),两相同print(" ", end="")#打印 *for j in range(i): #j临时变量,两个j互不影响print("*", end="")print()结果:
请输入打印的层数:5**********
*****
循环中断
continue:终端本次循环,直接进入下一次循环
break:直接结束循环,遇见break,直接全部gameover
循环综合案例
import random
money = 10000
for i in range(1, 21): score = random.randint(1, 10) #1-10的随机数生成if score < 5:print(f"员工{i}绩效为{score},不发工资")continue# 判断余额if money >= 1000:money -= 1000print(f"员工{i}发放工资1000,公司账户剩余{money}")else:print(f"当前余额剩余{money},不发了,下个月吧")break结果:
员工1绩效为3,不发工资
员工2发放工资1000,公司账户剩余9000
员工3绩效为1,不发工资
员工4发放工资1000,公司账户剩余8000
员工5发放工资1000,公司账户剩余7000
员工6发放工资1000,公司账户剩余6000
员工7发放工资1000,公司账户剩余5000
员工8绩效为1,不发工资
员工9发放工资1000,公司账户剩余4000
员工10发放工资1000,公司账户剩余3000
员工11绩效为1,不发工资
员工12发放工资1000,公司账户剩余2000
员工13发放工资1000,公司账户剩余1000
员工14绩效为4,不发工资
员工15绩效为1,不发工资
员工16发放工资1000,公司账户剩余0
当前余额剩余0,不发了,下个月吧
for……else
同while......else
else后面的代码:当循环正常结束之后要执行的代码·
中途break,else下边缩进的代码不会执行
中途continue,else下边缩进的代码会执行
相关文章:

Day 05 python学习笔记
循环 应用:循环轮播图 最基础、最核心 循环:周而复始,谓之循环 (为了代码尽量不要重复) while循环 while的格式 索引定义 while 表达式(只要结果为布尔值即可): 循环体 通过条件的不断变化,从…...

Python如何17行代码画一个爱心
🌈write in front🌈 🧸大家好,我是Aileen🧸.希望你看完之后,能对你有所帮助,不足请指正!共同学习交流. 🆔本文由Aileen_0v0🧸 原创 CSDN首发🐒 如…...

生产环境中常用Linux命令
太简单的我就不讲解啦,浪费时间,直接将生产中常用的 文章目录 1.总纲2.整机 top3.CPU vmstat3. 内存 free4. 硬盘: df5. 磁盘IO iostat6. 网络IO ifstat7: 内存过高的情景排查 1.总纲 整机:topcpu:vmstat内存:free硬盘:df磁盘io: iostat网络io:ifstat 2.整机 top 首先们要查…...

【使用 TensorFlow 2】03/3 创建自定义损失函数
一、说明 TensorFlow 2发布已经接近5年时间,不仅继承了Keras快速上手和易于使用的特性,同时还扩展了原有Keras所不支持的分布式训练的特性。3大设计原则:简化概念,海纳百川,构建生态.这是本系列的第三部分,…...
Vue3中使用v-model高级用法参数绑定传值
Vue3中使用v-model高级用法参数绑定传值 单个输入框传值多个输入框传值,一个组件接受多个v-model值 单个输入框传值 App.vue <template><p>{{firstName}}</p><hello-world v-model"firstName"></hello-world> </template><…...
你的工作中,chatGPT可以帮你做什么?
如何在工作中使用 ChatGPT 的 10 种实用方法 现在您已经知道如何开始使用 ChatGPT 并了解其基本功能(提示 -> 响应),让我们探讨如何使用它来大幅提高工作效率。 1. 总结报告、会议记录等 ChatGPT可以快速分析大文本并识别关键点。例如&a…...

k8s简单部署nginx
文章目录 1. 前言2. 部署nginx2.1. **创建一个nginx的Deployment**2.2. **创建一个nginx的service** 3. 总结 1. 前言 前文提要: kubeadm简单搭建k8s集群第三方面板部署k8s 上篇文章我们简单部署了k8s的集群环境,相比一定迫不及待的想部署一个实际应用了…...

小黑子—MyBatis:第四章
MyBatis入门4.0 十 小黑子进行MyBatis参数处理10.1 单个简单类型参数10.1.1 单个参数Long类型10.1.2 单个参数Date类型 10.2 Map参数10.3 实体类参数(POJO参数)10.4 多参数10.5 Param注解(命名参数)10.6 Param注解源码分析 十一 小…...

Docker快速上手:使用Docker部署Drupal并实现公网访问
文章目录 前言1. Docker安装Drupal2. 本地局域网访问3 . Linux 安装cpolar4. 配置Drupal公网访问地址5. 公网远程访问Drupal6. 固定Drupal 公网地址 前言 Dupal是一个强大的CMS,适用于各种不同的网站项目,从小型个人博客到大型企业级门户网站。它的学习…...
React知识点系列(1)-每天10个小知识
目录 1.什么是 React,以及它在前端开发中的优势是什么?2.你是如何组织和管理 React 组件的?3.你能解释一下 React 的生命周期方法吗?你通常在哪个生命周期方法中发起网络请求?4.什么是 React Hooks?你常用哪…...
substring 和 substr 的区别
1、结论 两个方法都用于截取字符串,其用法不同: 1)相同点: ① 都用于截取字符串; ② 第一个参数都是表示提取字符的开始索引位置; 2)不同点: ① 第一个参数的取值范围不同&…...
产品经理的工作职责是什么?
产品经理的工作职责主要包括以下几个方面: 1. 产品策划与定义:产品经理负责制定产品的整体策略和规划,包括产品定位、目标用户、市场需求分析等。他们需要与团队合作,定义产品的功能和特性,明确产品的核心竞争力和差异…...

智能井盖传感器:提升城市安全与便利的利器
在智能化城市建设的浪潮中,WITBEE万宾智能井盖传感器,正以其卓越的性能和创新的科技,吸引着越来越多的关注。本文小编将为大家详细介绍这款产品的独特优势和广阔应用前景。 在我们生活的城市中,井盖可能是一个最不起眼的存在。然而…...

给你一个项目,你将如何开展性能测试工作?
一、性能三连问 1、何时进行性能测试? 性能测试的工作是基于系统功能已经完备或者已经趋于完备之上的,在功能还不够完备的情况下没有多大的意义。因为后期功能完善上会对系统的性能有影响,过早进入性能测试会出现测试结果不准确、浪费测试资…...

点燃市场热情,让产品风靡全球——实用推广策略大揭秘!
文章目录 一、实用推广策略的重要性1. 提高产品知名度和认可度2. 拓展产品市场和用户群体3. 增强企业品牌形象和市场竞争力 二、实用推广策略的种类1. 社交媒体推广2. 定向推广3. 口碑营销4. 内容推广 三、实用推广策略的实施步骤1. 研究目标用户和市场需求,明确产品…...

Python操作Hive数据仓库
Python连接Hive 1、Python如何连接Hive?2、Python连接Hive数据仓库 1、Python如何连接Hive? Python连接Hive需要使用Impala查询引擎 由于Hadoop集群节点间使用RPC通信,所以需要配置Thrift依赖环境 Thrift是一个轻量级、跨语言的RPC框架&…...
客户收到报价后突然安静了,怎么办?
外贸人常常会有这样的经历:与意向度很高的客户数封邮件沟通报价之后,突然客户那边就沉静下来了,而不知所措,遇到这样的客户,应该怎么办呢? Vol.1 了解客户信息 首先自身要养成一个好习惯,针对…...
O2OA(翱途)常见知识之 mysql 数据库备份
概述 系统运行一段时间后,可能发生各种情况导致数据丢失,如硬件故障、人为错误、软件错误、病毒攻击等。定期备份可以帮助您保护数据免受这些风险的影响,以便在需要时能够恢复数据。 O2OA应用本身可以通过dump配置每天自定备份数据ÿ…...
如何让你的程序支持lua脚本
最近做了一个控制机械臂的程序,使用C语言开发的,调试的时候总是需要修改代码来调整运动轨迹, 总是要编译,实在烦人 不过有个方法就是使用lua来调试运动逻辑 代码如下 static int lua_up(lua_State*l) {size_t stepluaL_checkinteger(l,1);//向上动作up(step);return 0; }st…...

什么是系统架构师?什么是系统架构?
1. 什么是系统架构师? 系统架构设计师(System Architecture Designer)是项目开发活动中的关键角色之一。系统架构是系统的一种整体的高层次的结构表示,是系统的骨架和根基,其决定了系统的健壮性和生命周期的长短。 系统架构设计…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...
多场景 OkHttpClient 管理器 - Android 网络通信解决方案
下面是一个完整的 Android 实现,展示如何创建和管理多个 OkHttpClient 实例,分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
C++ 基础特性深度解析
目录 引言 一、命名空间(namespace) C 中的命名空间 与 C 语言的对比 二、缺省参数 C 中的缺省参数 与 C 语言的对比 三、引用(reference) C 中的引用 与 C 语言的对比 四、inline(内联函数…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...
Fabric V2.5 通用溯源系统——增加图片上传与下载功能
fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...

深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用
文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么?1.1.2 感知机的工作原理 1.2 感知机的简单应用:基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...

iview框架主题色的应用
1.下载 less要使用3.0.0以下的版本 npm install less2.7.3 npm install less-loader4.0.52./src/config/theme.js文件 module.exports {yellow: {theme-color: #FDCE04},blue: {theme-color: #547CE7} }在sass中使用theme配置的颜色主题,无需引入,直接可…...

spring Security对RBAC及其ABAC的支持使用
RBAC (基于角色的访问控制) RBAC (Role-Based Access Control) 是 Spring Security 中最常用的权限模型,它将权限分配给角色,再将角色分配给用户。 RBAC 核心实现 1. 数据库设计 users roles permissions ------- ------…...