当前位置: 首页 > news >正文

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 循环的嵌套应用

基本语法格式:
在这里插入图片描述

注意事项

  1. 同判断语句的嵌套一样,循环语句的嵌套,要注意空格缩进。
  2. 基于空格缩进来决定层次关系
  3. 注意条件的设置,避免出现无限循环(除非真的需要无限循环)

示例程序:

"""
演示 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 循环案例 — 九九乘法表

补充知识

  1. print 输出不换行

    print("hello", end='')
    print("hello", end='')
    
  2. 制表符 \t

    print("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 笔记来源于&#xff1a;黑马程序员python教程&#xff0c;8天python从入门到精通&#xff0c;学python看这套就够了 目录 day428、while 循环的嵌套应用29、while 循环案例 — 九九乘法表补充知识示例&#xff1a;九九乘法表 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 解决方案&#xff1a;https://blog.csdn.net/gufenchen/article/details/95663284...

OpenCV练习(1)签名修复

1.目的 在学校的学习过程中&#xff0c;需要递交许多材料&#xff0c;且每份材料上都需要对应负责人签名&#xff0c;有时候找别人要签名&#xff0c;然后自己粘贴的话&#xff0c;会出现签名模糊&#xff0c;背景不是纯白透明。为此以word中的“颜色校正”功能为参照&#xf…...

软设之系统测试之测试的基本概念及分类

测试的基本概念 尽早&#xff0c;不断地进行测试 程序员避免测试自己设计的程序 既要选择有效&#xff0c;合理的数据&#xff0c;也要选择无效&#xff0c;不合理的数据 修改后应进行回归测试 尚未发现的错误数量与该程序已发现错误其他成正比。 动态测试 黑盒测试(测试…...

Python学习打卡:day06

day6 笔记来源于&#xff1a;黑马程序员python教程&#xff0c;8天python从入门到精通&#xff0c;学python看这套就够了 目录 day648、函数综合案例49、数据容器入门50、列表的定义语法51、列表的下标索引1、列表的下标&#xff08;索引&#xff09;2、列表的下标&#xff08…...

支付宝 沙盒demo使用

简介&#xff1a;支付宝沙箱环境是一个为开发者提供的模拟测试环境&#xff0c;用于在应用上线前进行接口功能开发和联调。在这个环境中&#xff0c;开发者可以模拟开放接口&#xff0c;进行开发调试工作&#xff0c;以确保应用上线后能顺利运行。 1. 配置沙盒 1. 1 沙箱控制…...

ConcurrentHashMap如何保证线程安全?

ConcurrentHashMap 是 HashMap 的多线程版本&#xff0c;HashMap 在并发操作时会有各种问题&#xff0c;比如死循环问题、数据覆盖等问题。而这些问题&#xff0c;只要使用 ConcurrentHashMap 就可以完美解决了&#xff0c;那问题来了&#xff0c;ConcurrentHashMap 是如何保证…...

spring属性注入的不细心错误

属性注入问题 个人博客:www.zgtsky.top 同个的对象&#xff0c;在一个类中注入成功&#xff0c;在另一个类中注入为null 问题&#xff1a;在检测各个需要的类上已经打上注解后&#xff0c;出现了在一个类A1中注入B属性成功了&#xff0c;但在另一个类A2中注入B属性却失败了。…...

JVM 根可达算法

Java中的垃圾 Java中"垃圾"通常指的是不再被程序使用和引用的对象&#xff0c;具体表现在没有被栈、JNI指针和永久代对象所引用的对象。Java作为一种面向对象的编程语言&#xff0c;它使用自动内存管理机制&#xff0c;其中垃圾收集器负责检测和回收不再被程序引用的…...

Kafka基础架构与核心概念?有哪些应用场景?

Kafka简介 Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。架构特点是分区、多副本、多生产者、多订阅者,性能特点主要是高吞吐,低时延。 Kafka主要设计…...

内网不能访问网站怎么办?

内网不能访问网站是在网络使用过程中常见的问题之一。当我们使用局域网连接时&#xff0c;有时候会遇到无法访问特定网站的情况。这可能是因为网络环境复杂&#xff0c;或者受到了某些限制。本篇文章将介绍一种解决内网不能访问网站问题的产品——天联组网。 天联组网是一款由…...

python-求f(x,n)

[题目描述] 输入&#xff1a; 输入 &#x1d465;和 &#x1d45b;。输出&#xff1a; 函数值&#xff0c;保留两位小数。样例输入1 4.2 10 样例输出1 3.68 来源/分类&#xff08;难度系数&#xff1a;一星&#xff09; 完整代码如下&#xff1a; x,nmap(eval,input().split(…...

java值jsp语法笔记

1 JSP注释 1.1 显示注释 显示注释会出现在生成的HTML文档中&#xff0c;对用户可见。 <!-- 这是一个HTML显示注释 --> 1.2 隐式注释 隐式注释不会出现在生成的HTML文档中&#xff0c;对用户不可见。 <%-- 这是一个JSP隐式注释 --%> 2 JSP脚本元素 2.1 局部…...

057、PyCharm 运行代码报错:Error Please select a valid Python interpreter

当我们在PyCharm运行代码时&#xff0c;提示如下图错误&#xff1a; 那么问题通常是由于PyCharm未正确配置Python解释器引起的。 我们只需按以下步骤重新配置Python解释器即可&#xff1a; 打开PyCharm设置&#xff1a; 在菜单栏中的点击 “File” -> “Settings”&#xf…...

Java实现图书管理系统

一、引言 本篇介绍了一个简易的图书管理系统&#xff0c;面向管理员和普通用户分别给出了不同的菜单&#xff0c;实现了一些基本的图书操作功能&#xff0c;包括图书的增删查改、借阅、归还等 二、图书管理系统框架 图书管理系统&#xff0c;顾名思义&#xff0c;管理的是图…...

使用静态方法接受对象参数

我们先来看一个例子 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加解密&#xff08;及引入方法&#xff09; 如果想转请评论留个言并注明原博 Sclifftop 13805064305 阿浚 cocos creator如何使用cryptojs加解密&#xff08;及引入方法&#xff09; 步骤 获取库 1. npm install crypto-js -g&#xff0c;加不加…...

安装台式电脑网卡驱动

安装电脑网卡驱动 1. 概述2. 具体方法2.1 先确定主板型号2.2 详细操作步骤如下2.2.1 方法一2.2.2 方法二2.2 主流主板官网地址 结束语 1. 概述 遇到重装系统后、或者遇到网卡驱动出现问题没有网络时&#xff0c;当不知道怎么办时&#xff0c;以下的方法&#xff0c;可以作为一…...

JavaEE-多线程(1)

这篇文章&#xff0c;我们将介绍进程、线程的相关概念以及进程和线程的区别&#xff0c;下篇文章我们将使用Java来编写多线程的代码 进程&#xff1a; 进程&#xff08;Process&#xff09;是操作系统中资源分配的基本单位&#xff0c;它是一个正在运行的程序的实例。进程包括…...

【计算机视觉】人脸算法之图像处理基础知识(五)

图像的几何变换 3.图像的旋转 图像的旋转就是让图像按照某一点旋转到指定的角度。需要确定3个参数&#xff1a;图像的旋转中心、旋转角度和缩放因子。在openv中通过getRotationMatrix2D()函数来实现图像的旋转。 import cv2 import numpy as npimgpath "images/img1.j…...

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络&#xff0c;将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具&#xff0c;支持 Chrome、Firefox、Safari 等主流浏览器&#xff0c;提供多语言 API&#xff08;Python、JavaScript、Java、.NET&#xff09;。它的特点包括&a…...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中&#xff0c;将 long long 类型转换为 QString 可以通过以下两种常用方法实现&#xff1a; 方法 1&#xff1a;使用 QString::number() 直接调用 QString 的静态方法 number()&#xff0c;将数值转换为字符串&#xff1a; long long value 1234567890123456789LL; …...

大数据学习(132)-HIve数据分析

​​​​&#x1f34b;&#x1f34b;大数据学习&#x1f34b;&#x1f34b; &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 用力所能及&#xff0c;改变世界。 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4…...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)

考察一般的三次多项式&#xff0c;以r为参数&#xff1a; p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]&#xff1b; 此多项式的根为&#xff1a; 尽管看起来这个多项式是特殊的&#xff0c;其实一般的三次多项式都是可以通过线性变换化为这个形式…...

云原生安全实战:API网关Envoy的鉴权与限流详解

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关 作为微服务架构的统一入口&#xff0c;负责路由转发、安全控制、流量管理等核心功能。 2. Envoy 由Lyft开源的高性能云原生…...

渗透实战PortSwigger Labs指南:自定义标签XSS和SVG XSS利用

阻止除自定义标签之外的所有标签 先输入一些标签测试&#xff0c;说是全部标签都被禁了 除了自定义的 自定义<my-tag onmouseoveralert(xss)> <my-tag idx onfocusalert(document.cookie) tabindex1> onfocus 当元素获得焦点时&#xff08;如通过点击或键盘导航&…...

如何把工业通信协议转换成http websocket

1.现状 工业通信协议多数工作在边缘设备上&#xff0c;比如&#xff1a;PLC、IOT盒子等。上层业务系统需要根据不同的工业协议做对应开发&#xff0c;当设备上用的是modbus从站时&#xff0c;采集设备数据需要开发modbus主站&#xff1b;当设备上用的是西门子PN协议时&#xf…...

接口 RESTful 中的超媒体:REST 架构的灵魂驱动

在 RESTful 架构中&#xff0c;** 超媒体&#xff08;Hypermedia&#xff09;** 是一个核心概念&#xff0c;它体现了 REST 的 “表述性状态转移&#xff08;Representational State Transfer&#xff09;” 的本质&#xff0c;也是区分 “真 RESTful API” 与 “伪 RESTful AP…...

ffmpeg(三):处理原始数据命令

FFmpeg 可以直接处理原始音频和视频数据&#xff08;Raw PCM、YUV 等&#xff09;&#xff0c;常见场景包括&#xff1a; 将原始 YUV 图像编码为 H.264 视频将 PCM 音频编码为 AAC 或 MP3对原始音视频数据进行封装&#xff08;如封装为 MP4、TS&#xff09; 处理原始 YUV 视频…...