Python学习打卡:day04
day4
笔记来源于:黑马程序员python教程,8天python从入门到精通,学python看这套就够了
目录
- day4
- 28、while 循环的嵌套应用
- 29、while 循环案例 — 九九乘法表
- 补充知识
- 示例:九九乘法表
- 30、for 循环基本语法
- while 和 for 循环对比
- for 循环
- 示例
- 注意点
- 31、for 循环案例—数一数有几个a
- 32、range 语句
- 33、for 循环临时变量作用域
- 34、for 循环的嵌套使用
- 35、for 循环打印九九乘法表
- 36、continue 和 break
- continue
- break
- 37、循环综合案例:发工资
28、while 循环的嵌套应用
基本语法格式:

注意事项:
- 同判断语句的嵌套一样,循环语句的嵌套,要注意空格缩进。
- 基于空格缩进来决定层次关系
- 注意条件的设置,避免出现无限循环(除非真的需要无限循环)
示例程序:
"""
演示 while 循环的嵌套使用
"""# 外层:表白 100 天的控制
# 内层:每天的表白都送 10 只玫瑰花的控制i = 1
while i <= 100:print(f"今天是第 {i} 天,准备表白......")# 内层循环的控制变量j = 1while j <= 10:print(f"送给小美第 {j} 只玫瑰花")j += 1print("小美,我喜欢你")i += 1print(f"坚持到第 {i-1} 天,表白成功。")
29、while 循环案例 — 九九乘法表
补充知识
-
print 输出不换行
print("hello", end='') print("hello", end='') -
制表符
\tprint("hello\tworld") print("itheima\tbest")
示例:九九乘法表
i = 1
while i <= 9:j = 1while j <= i:print(f"{i}*{j}={i*j}\t", end='')j += 1print()i += 1
输出结果:

30、for 循环基本语法
while 和 for 循环对比
- while循环的循环条件是自定义的,自行控制循环条件
- for循环是一种”轮询”机制,是对一批内容进行”逐个处理”
for 循环

基本语法格式:

从待处理数据集中:逐个取出数据,赋值给临时变量。
示例
"""
演示 for 循环的基础语法
"""
name = "itheima"
for x in name:# 将 name 的内容,挨个取出赋予 x 临时变量# 就可以在循环体内对 x 进行处理print(x)
for循环是将字符串的内容:依次取出,所以,for循环也被称之为:遍历循环
理论上讲,Python的for循环无法构建无限循环(被处理的数据集不可能无限大)
注意点
for循环的注意点:
- 无法定义循环条件,只能被动取出数据处理;
- 要注意,循环内的语句,需要有空格缩进。
31、for 循环案例—数一数有几个a

name = "itheima is a brand of itcast"
count = 0
for x in name:if(x == 'a'):count += 1
print(f"itheima is a brand of itcast 中共含有:{count}个字母a")
32、range 语句

语法中的:待处理数据集,严格来说,称之为:可迭代类型
可迭代类型指,其内容可以一个个依次取出的一种类型,包括:字符串、列表、元组等。
其中,可迭代类型可以是 range。
1、语法1:range(num)
获取一个从0开始,到num结束的数字序列(不含num本身),如range(5)取得的数据是:[0, 1, 2, 3, 4];
2、语法2:range(num1, num2)
获得一个从num1开始,到num2结束的数字序列(不含num2本身),如:range(5, 10) 取得的数据是:[5, 6, 7, 8, 9];
3、语法3:range(num1, num2, step)
获得一个从 num1 开始,到 num2 结束的数字序列(不含 num2 本身),数字之间的步长,以 step 为准( step 默认为1),如,range(5, 10, 2)取得的数据是:[5, 7, 9]。
示例:
"""
演示 Python 中的 range() 语句的基本使用
"""# range 语法1:range(num)
for x in range(10):print(x)# range 语法2:range(num1, num2)
for x in range(5, 10):# 从 5 开始,到 10 结束(不包含 10 本身)的一个数字序列print(x)# range 语法3:range(num1, num2, step)
for x in range(5, 10, 2):# 从 5 开始,到 10 结束(不包含10本身)的一个数字序列,数字之间的间隔是2print(x)
练习:

示例程序:
count = 0
num = int(input("请输入一个数:"))
for x in range(1, num):if(x % 2 == 0):count += 1
print(f"1到{num}范围内,共有{count}个偶数")
33、for 循环临时变量作用域
如果在 for 循环外部访问临时变量:
- 实际上是可以访问到的;
- 在编程规范上,是不允许、不建议这么做的。
如果实在需要在循环外访问循环内的临时变量,可以在循环外预先定义。
34、for 循环的嵌套使用
基本语法格式:

示例:
"""
演示 for 循环的嵌套使用
"""
# 坚持表白 100 天,每天都送 10 朵花
for i in range(1, 101):print(f"今天是向小美表白的第{i}天,加油坚持。")# 内层循环for j in range(1, 11):print(f"给小美送的第{j}朵玫瑰花")print("小美我喜欢你")
print(f"第{i}天,表白成功")
35、for 循环打印九九乘法表
for i in range(1, 10):for j in range(1, i+1):print(f"{i}*{j}={i*j}\t", end='')print()
36、continue 和 break
continue
continue关键字用于:中断本次循环,直接进入下一次循环
continue可以用于: for循环和while循环,效果一致
# 演示循环中断语句 continue
for i in range(1, 6):print("语句1")continueprint("语句2")
continue在循环中的嵌套使用
# 演示 continue 的嵌套应用
for i in range(1, 6):print("语句1")for j in range(1, 6):print("语句2")continueprint("语句3")print("语句4")
break
break 关键字同样只可以控制:它所在的循环永久中断。
# 演示循环中断语句 break
for i in range(1, 101):print("语句1")breakprint("语句2")
print("语句3")
break 在循环中的嵌套使用
# 演示 break 的嵌套应用
for i in range(1, 6):print("语句1")for j in range(1, 6):print("语句2")breakprint("语句3")print("语句4")
37、循环综合案例:发工资

示例:
import random
num = random.randint(1, 10)
sum = 10000
for i in range(1, 21):salary = 1000;num = random.randint(1, 10)if(num < 5):print(f"员工{i},绩效分{num},低于5,不发工资,下一位")continueif sum >= 1000:sum -= 1000print(f"员工{i}发放工资1000元,公司账户余额:{sum}")else:print(f"余额不足,当前余额:{sum}元,不足以发工资,下个月再来")break
相关文章:
Python学习打卡:day04
day4 笔记来源于:黑马程序员python教程,8天python从入门到精通,学python看这套就够了 目录 day428、while 循环的嵌套应用29、while 循环案例 — 九九乘法表补充知识示例:九九乘法表 30、for 循环基本语法while 和 for 循环对比f…...
gitlab问题记录
You wont be able to pull or push project code via SSH until you add an SSH key to you 解决方案:https://blog.csdn.net/gufenchen/article/details/95663284...
OpenCV练习(1)签名修复
1.目的 在学校的学习过程中,需要递交许多材料,且每份材料上都需要对应负责人签名,有时候找别人要签名,然后自己粘贴的话,会出现签名模糊,背景不是纯白透明。为此以word中的“颜色校正”功能为参照…...
软设之系统测试之测试的基本概念及分类
测试的基本概念 尽早,不断地进行测试 程序员避免测试自己设计的程序 既要选择有效,合理的数据,也要选择无效,不合理的数据 修改后应进行回归测试 尚未发现的错误数量与该程序已发现错误其他成正比。 动态测试 黑盒测试(测试…...
Python学习打卡:day06
day6 笔记来源于:黑马程序员python教程,8天python从入门到精通,学python看这套就够了 目录 day648、函数综合案例49、数据容器入门50、列表的定义语法51、列表的下标索引1、列表的下标(索引)2、列表的下标(…...
支付宝 沙盒demo使用
简介:支付宝沙箱环境是一个为开发者提供的模拟测试环境,用于在应用上线前进行接口功能开发和联调。在这个环境中,开发者可以模拟开放接口,进行开发调试工作,以确保应用上线后能顺利运行。 1. 配置沙盒 1. 1 沙箱控制…...
ConcurrentHashMap如何保证线程安全?
ConcurrentHashMap 是 HashMap 的多线程版本,HashMap 在并发操作时会有各种问题,比如死循环问题、数据覆盖等问题。而这些问题,只要使用 ConcurrentHashMap 就可以完美解决了,那问题来了,ConcurrentHashMap 是如何保证…...
spring属性注入的不细心错误
属性注入问题 个人博客:www.zgtsky.top 同个的对象,在一个类中注入成功,在另一个类中注入为null 问题:在检测各个需要的类上已经打上注解后,出现了在一个类A1中注入B属性成功了,但在另一个类A2中注入B属性却失败了。…...
JVM 根可达算法
Java中的垃圾 Java中"垃圾"通常指的是不再被程序使用和引用的对象,具体表现在没有被栈、JNI指针和永久代对象所引用的对象。Java作为一种面向对象的编程语言,它使用自动内存管理机制,其中垃圾收集器负责检测和回收不再被程序引用的…...
Kafka基础架构与核心概念?有哪些应用场景?
Kafka简介 Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。架构特点是分区、多副本、多生产者、多订阅者,性能特点主要是高吞吐,低时延。 Kafka主要设计…...
内网不能访问网站怎么办?
内网不能访问网站是在网络使用过程中常见的问题之一。当我们使用局域网连接时,有时候会遇到无法访问特定网站的情况。这可能是因为网络环境复杂,或者受到了某些限制。本篇文章将介绍一种解决内网不能访问网站问题的产品——天联组网。 天联组网是一款由…...
python-求f(x,n)
[题目描述] 输入: 输入 𝑥和 𝑛。输出: 函数值,保留两位小数。样例输入1 4.2 10 样例输出1 3.68 来源/分类(难度系数:一星) 完整代码如下: x,nmap(eval,input().split(…...
java值jsp语法笔记
1 JSP注释 1.1 显示注释 显示注释会出现在生成的HTML文档中,对用户可见。 <!-- 这是一个HTML显示注释 --> 1.2 隐式注释 隐式注释不会出现在生成的HTML文档中,对用户不可见。 <%-- 这是一个JSP隐式注释 --%> 2 JSP脚本元素 2.1 局部…...
057、PyCharm 运行代码报错:Error Please select a valid Python interpreter
当我们在PyCharm运行代码时,提示如下图错误: 那么问题通常是由于PyCharm未正确配置Python解释器引起的。 我们只需按以下步骤重新配置Python解释器即可: 打开PyCharm设置: 在菜单栏中的点击 “File” -> “Settings”…...
Java实现图书管理系统
一、引言 本篇介绍了一个简易的图书管理系统,面向管理员和普通用户分别给出了不同的菜单,实现了一些基本的图书操作功能,包括图书的增删查改、借阅、归还等 二、图书管理系统框架 图书管理系统,顾名思义,管理的是图…...
使用静态方法接受对象参数
我们先来看一个例子 public class MyInteger { private int value; // 构造函数 public MyInteger(int value) { this.value value; } // 实例方法 public boolean isEven() { return value % 2 0; } // 静态方法接受int参数 public static boolean isEvenStatic…...
cocos creator如何使用cryptojs加解密(及引入方法)
cocos creator如何使用cryptojs加解密(及引入方法) 如果想转请评论留个言并注明原博 Sclifftop 13805064305 阿浚 cocos creator如何使用cryptojs加解密(及引入方法) 步骤 获取库 1. npm install crypto-js -g,加不加…...
安装台式电脑网卡驱动
安装电脑网卡驱动 1. 概述2. 具体方法2.1 先确定主板型号2.2 详细操作步骤如下2.2.1 方法一2.2.2 方法二2.2 主流主板官网地址 结束语 1. 概述 遇到重装系统后、或者遇到网卡驱动出现问题没有网络时,当不知道怎么办时,以下的方法,可以作为一…...
JavaEE-多线程(1)
这篇文章,我们将介绍进程、线程的相关概念以及进程和线程的区别,下篇文章我们将使用Java来编写多线程的代码 进程: 进程(Process)是操作系统中资源分配的基本单位,它是一个正在运行的程序的实例。进程包括…...
【计算机视觉】人脸算法之图像处理基础知识(五)
图像的几何变换 3.图像的旋转 图像的旋转就是让图像按照某一点旋转到指定的角度。需要确定3个参数:图像的旋转中心、旋转角度和缩放因子。在openv中通过getRotationMatrix2D()函数来实现图像的旋转。 import cv2 import numpy as npimgpath "images/img1.j…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...
STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...
Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。
1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj,再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...
【生成模型】视频生成论文调研
工作清单 上游应用方向:控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...
DingDing机器人群消息推送
文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...
【JavaSE】多线程基础学习笔记
多线程基础 -线程相关概念 程序(Program) 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存…...
LabVIEW双光子成像系统技术
双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制,展现出显著的技术优势: 深层组织穿透能力:适用于活体组织深度成像 高分辨率观测性能:满足微观结构的精细研究需求 低光毒性特点:减少对样本的损伤…...
