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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/27834.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android屏幕旋转流程(1)

&#xff08;1&#xff09;Gsensor的注册和监听 App -->I2C过程&#xff1a;App通过SensorManager.getSystemServer调用到SystemSensorManager&#xff0c;SystemSensorManager通过jni调用到SensorManager.cpp&#xff0c;后通过binder调用到SensorService。SensorService通…

SpringBoot+Maven笔记

文章目录 1、启动类2、mapper 接口3、控制类4、补充&#xff1a;返回数据时的封装5、补充a、mybatisplus 1、启动类 在启动类上加入MapperScan扫描自己所写的mapper接口 package com.example.bilili_springboot_study;import org.mybatis.spring.annotation.MapperScan; impo…

CorelDraw 2024软件安装包下载 丨不限速下载丨亲测好用

​简介&#xff1a; CorelDRAW Graphics Suite 订阅版拥有配备齐全的专业设计工具包&#xff0c;可以通过非常高的效率提供令人惊艳的矢量插图、布局、照片编辑和排版项目。价格实惠的订阅就能获得令人难以置信的持续价值&#xff0c;即时、有保障地获得独家的新功能和内容、…

生产中的 RAG:使你的生成式 AI 项目投入运营

作者&#xff1a;来自 Elastic Tim Brophy 检索增强生成 (RAG) 为组织提供了一个采用大型语言模型 (LLM) 的机会&#xff0c;即通过将生成式人工智能 (GenAI) 功能应用于其自己的专有数据。使用 RAG 可以降低固有风险&#xff0c;因为我们依赖受控数据集作为模型答案的基础&…

【菜狗学前端】uniapp(vue3|微信小程序)实现外卖点餐的左右联动功能

记录&#xff0c;避免之后忘记...... 一、目的&#xff1a;实现左右联动 右->左 滚动&#xff08;上拉/下拉&#xff09;右侧&#xff0c;左侧对应品类选中左->右 点击左侧品类&#xff0c;右侧显示对应品类 二、实现右->左 滚动&#xff08;上拉/下拉&#xff09;右…

什么是深拷贝;深拷贝和浅拷贝有什么区别;深拷贝和浅拷贝有哪些方法(详解)

目录 一、为什么要区别深拷贝和浅拷贝 二、浅拷贝 2.1、什么是浅拷贝 2.2、浅拷贝的方法 使用Object.assign() 使用展开运算符(...) 使用数组的slice()方法&#xff08;仅适用于数组&#xff09; 2.3、关于赋值运算符&#xff08;&#xff09; 三、深拷贝 3.1、什么是…

leetcode第709题:转换成小写字母

注意字符不仅有26个英文字母&#xff0c;还有特殊字符。特殊字符的话&#xff0c;原样输出。 public class Solution {public char toLowChar(char c){if(c>a&&c<z){return c;}else if(c>A&&c<Z){int n(int)c32;return (char)n;}return c;}publi…

Java数据结构之ArrayList(如果想知道Java中有关ArrayList的知识点,那么只看这一篇就足够了!)

前言&#xff1a;ArrayList是Java中最常用的动态数组实现之一&#xff0c;它提供了便捷的操作接口和灵活的扩展能力&#xff0c;使得在处理动态数据集合时非常方便。本文将深入探讨Java中ArrayList的实现原理、常用操作以及一些使用场景。 ✨✨✨这里是秋刀鱼不做梦的BLOG ✨✨…

useEffect的概念以及使用(对接口)

// useEffect的概念以及使用 import {useEffect, useState} from reactconst Url"http://geek.itheima.net/v1_0/channels"function App() {// 创建状态变量const [lustGet,setLustGet]useState([]);// 渲染完了之后执行这个useEffect(() > {// 额外的操作&#x…

【TypeScript】泛型工具

跟着 小满zs 学 ts&#xff1a;学习TypeScript24&#xff08;TS进阶用法-泛型工具&#xff09;_ts泛型工具-CSDN博客 Partial 所有属性可选的意思Required 所有属性必选的意思Pick 提取部分属性Exclude 排除部分属性emit 排除部分属性并且返回新的类型 Partial 属性变为可选。…

Qt-Advanced-Docking-System的学习

Qt5.12实现Visual Studio 2019 拖拽式Dock面板-Qt-Advanced-Docking-System_c_saide6000-GitCode 开源社区 (csdn.net) 我使用的是Qt5.5.0 开始&#xff0c;我下载的是最新版的源码&#xff1a;4.1版本 但是&#xff0c;打开ads.pro工程文件&#xff0c;无法编译成功。 然后…

RERCS系统开发实战案例-Part02 创建BOPF对应的业务对象(Business Object)

1、通过事务码 BOBF创建业务对象 2、输入debug&#xff0c;进入编辑模式新建BO对象&#xff1b; 选择对应的BO对象属性类别&#xff1a; 3、激活BO对象 接口页签&#xff1a; 属性页签&#xff1a;自动带出标准的常量 改接口类部分源码&#xff1a; 4、BO对象Node Elemen…

Golang的Gin框架

目录 功能以及简单使用 gin.Engine数据结构 RouterGroup methodTrees gin.context 功能以及简单使用 功能: • 支持中间件操作&#xff08; handlersChain 机制 &#xff09; • 更方便的使用&#xff08; gin.Context &#xff09; • 更强大的路由解析能力&#xff08…

windows下的eclipse按Ctrl+Shift+F格式化代码不起作用的处理

1、先上张图&#xff1a; 上面Format&#xff1a;CtrlShiftF&#xff0c;按了以后不起作用。 2、这个快捷键不起作用的原因&#xff1a;可能是快捷键冲突了。 机器上装了Sougou输入法&#xff0c;将输入法切换为英文模式是起作用的。 那么应该就是这个原因了。 3、解决方法…

【Ardiuno】使用ESP32单片机创建web服务通过网页控制小灯开关的实验(图文)

经过实验测试ESP32单片机的网络连接还是很方便的&#xff0c;这里小飞鱼按照程序实例的代码亲自实验一下使用Esp32生成的网页服务来实现远程无线控制小灯开关功能&#xff0c;这样真的是离物联网开发越来越近了&#xff0c;哈哈&#xff01; 连接好开发板和电路&#xff0c;将…

React入门教程:构建你的第一个React应用

在当今快速发展的Web开发领域&#xff0c;前端技术日新月异&#xff0c;而React作为一款强大的JavaScript库&#xff0c;已经成为众多开发者的首选。React以其组件化、高效的性能和灵活的数据处理机制闻名于世&#xff0c;被广泛用于构建动态且复杂的用户界面。在本教程中&…

Elixir学习笔记——输入输出和文件系统

本章介绍输入/输出机制、文件系统相关任务以及相关模块&#xff08;如 IO、File 和 Path&#xff09;。IO 系统提供了一个很好的机会来阐明 Elixir 和 Erlang VM 的一些思维模式和新奇思想。 输入输出模块 输入输出模块是 Elixir 中读写标准输入/输出 (:stdio)、标准错误 (:s…

Python中关于电商商品数据的采集【taobao/JD/商品详情数据返回】

在Python中采集电商商品数据&#xff08;如淘宝、京东等&#xff09;通常涉及到网络爬虫&#xff08;web scraping&#xff09;或称为网络数据抓取&#xff08;web data scraping&#xff09;。由于电商平台通常会有反爬虫机制&#xff0c;因此直接抓取数据可能会遇到各种挑战&…

基于51单片机的智能水表

一.硬件方案 本设计主要以51单片机作为主控处理器的智能水表&#xff0c;该水表能够记录总的用水量和单次用水量&#xff0c;当用水量超出设定值时系统发出声光报警提醒&#xff0c;水量报警值能够通过按键进行自行设置&#xff0c;并且存储于AT24C02中&#xff0c;并且可以测…

C++11默认成员函数控制

默认成员函数有 如果自己不显示声明&#xff0c;那么默认编译器会自己生成一个 如果有一个构造函数被声明了&#xff0c;那其他的默认函数编译器就不会再生成 这样的有时又不生成&#xff0c;容易造成混乱&#xff0c;于是C11让程序员可以控制是否需要编译器生成。 显式缺省函…