Python循环语句(二)

news2025/1/13 10:09:07

目录

  • 二.for循环
    • 1.1for循环的基础语法
    • 1.2range语句
    • 1.3变量作用域
    • 2.for循环嵌套
    • 3.循环中断

二.for循环

1.1for循环的基础语法

while循环和for循环的区别

  1. while循环的循环条件是自定义的,自行控制循环条件

  2. for循环是一种轮询机制,是对一批内容进行逐个处理
    在这里插入图片描述
    for循环的语法格式
    for 临时变量 in 待处理数据集:
    循环满足条件时执行的代码

    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")
###输出
itheima is a brand of itcast一共含有4个a

1.2range语句

range(num)
获取一个从0开始,到num结束的数字序列(不含num本身)
如range(5)取得的数据是:[0, 1, 2, 3, 4]

range(num1,num2)
获得一个从num1开始,到num2结束的数字序列(不含num2本身)
如,range(5, 10)取得的数据是:[5, 6, 7, 8, 9]

range(num1,num2,step)
获得一个从num1开始,到num2结束的数字序列(不含num2本身)
数字之间的步长,以step为准(step默认为1)
如,range(5, 10, 2)取得的数据是:[5, 7, 9]

for x in range(10):
    print(x)
#输出
0
1
...
9

for x in  range(5,10):
    print(x)
#输出
5
...
9

for x in range(5,10,2):
    print(x)
#输出
5
7
9

练习1-100有几个偶数

count = 0
for x in range(1,100):
    if ( x % 2 )  == 0:
        count += 1
print(f"1-100不包含100,一共有{count}个偶数"
#输出
1-100不包含100,一共有49个偶数

1.3变量作用域

  1. for循环中的临时变量,其作用域限定为:循环内
  2. 这种限定:
    是编程规范的限定,而非强制限定
    不遵守也能正常运行,但是不建议这样做
    如需访问临时变量,可以预先在循环外定义它

2.for循环嵌套

在这里插入图片描述
注意事项

  • 需要注意缩进,嵌套for循环同样通过缩进确定层次关系
  • for循环和while循环可以相互嵌套使用
i=1
for i in range(1,101):
    print(f"今天是表白的第{i}天")
    for j in range(1,11):
        print(f"给小美送的第{j}朵玫瑰花")
    print("小美,我喜欢你")
print(f"今天是表白的第{i}天,表白成功")
###输出
D:\APP\python\python.exe D:\python-learn\for循环嵌套.py 
今天是表白的第1天
给小美送的第1朵玫瑰花
给小美送的第2朵玫瑰花
给小美送的第3朵玫瑰花
给小美送的第4朵玫瑰花
给小美送的第5朵玫瑰花
给小美送的第6朵玫瑰花
给小美送的第7朵玫瑰花
给小美送的第8朵玫瑰花
给小美送的第9朵玫瑰花
给小美送的第10朵玫瑰花
小美,我喜欢你
...
今天是表白的第100天
给小美送的第1朵玫瑰花
给小美送的第2朵玫瑰花
给小美送的第3朵玫瑰花
给小美送的第4朵玫瑰花
给小美送的第5朵玫瑰花
给小美送的第6朵玫瑰花
给小美送的第7朵玫瑰花
给小美送的第8朵玫瑰花
给小美送的第9朵玫瑰花
给小美送的第10朵玫瑰花
小美,我喜欢你
今天是表白的第100天,表白成功

练习for实现99乘法表

for i in range(1,10):
    for j in range(1,i+1):
        print(f"{i} * {j} = { i * j }\t",end='')
    print()
###输出
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	

3.循环中断

continue关键字用于:中断本次循环,直接进入下一次循环
continue可以用于: for循环和while循环,效果一致

#演示continue
for i in range(1,3):
    print("语句1")
    for i in range(1,3):
        print("语句2")
        continue
        print("语句3")
    print("语句4")
###输出
语句1
语句2
语句2
语句4
语句1
语句2
语句2
语句4

break关键字用于:直接结束所在循环
break可以用于: for循环和while循环,效果一致

for  i  in range(1,101):
    print("语句1")
    break
    print("语句2")
print("语句3")
###输出
语句1
语句3

作用
continue的作用是:
中断所在循环的当次执行,直接进入下一次

break的作用是:
直接结束所在的循环
注意事项:

  • continue和break,在for和while循环中作用一致
  • 在嵌套循环中,只能作用在所在的循环上,无法对上层循环起作用

综合案例

money = 10000
for x in range(1,21):
    import random
    source = random.randint(1, 10)
    if source < 5:
        print(f"员工{x},绩效{source}分,低于5分,不发工资,下一位")
        continue
    else:
        money -= 1000
        print(f"向员工{x}发工资,账户余额{money}元")
        if money == 0:
            print("工资发完了")
            break
###输出结果
员工1,绩效4分,低于5分,不发工资,下一位
向员工2发工资,账户余额9000元
员工3,绩效1分,低于5分,不发工资,下一位
向员工4发工资,账户余额8000元
向员工5发工资,账户余额7000元
向员工6发工资,账户余额6000元
员工7,绩效4分,低于5分,不发工资,下一位
向员工8发工资,账户余额5000元
向员工9发工资,账户余额4000元
员工10,绩效4分,低于5分,不发工资,下一位
员工11,绩效1分,低于5分,不发工资,下一位
向员工12发工资,账户余额3000元
向员工13发工资,账户余额2000元
向员工14发工资,账户余额1000元
员工15,绩效1分,低于5分,不发工资,下一位
员工16,绩效2分,低于5分,不发工资,下一位
向员工17发工资,账户余额0

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

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

相关文章

多种方式计算当天与另一天的间隔天数 Java实现

这里不会记录纯原生写法&#xff0c;因为现在基本都是被工具类封装好的&#xff0c;所以会记录好用的工具类来简化开发&#xff0c;当然自己可以研究写一个年月日各自做减法的纯原生工具类。 踩坑处(System.currentTimeMillis) 这里指的是使用System.currentTimeMillis()方法。…

基于 Qt控制开发板 LED和C语言控制LED渐变亮度效果

## 资源简介 在STM32开发板,板载资源上有两个可自由控制的 LED。如下图原理 图其中我们以操作 LED1 为示例,LED1 为出厂系统的心跳指示灯。 ## 应用实例 想要控制这个 LED,首先出厂内核已经默认将这个 LED 注册成了 gpio-leds类型设备。所以我们可以直接在应用层接口直接…

如何通过内网穿透实现公网远程连接Redis数据库

公网远程连接Redis数据库【内网穿透】 文章目录 公网远程连接Redis数据库【内网穿透】前言1. Linux(centos8)安装redis数据库2. 配置redis数据库3. 内网穿透3.1 安装cpolar内网穿透3.2 创建隧道映射本地端口 4. 配置固定TCP端口地址4.1 保留一个固定tcp地址4.2 配置固定TCP地址…

国内主要的ERP软件有哪几种?谁家的ERP软件好用

不同的企业有不同的管理方式和侧重点&#xff0c;随着市场环境的变化&#xff0c;各行业竞争日趋激烈化&#xff0c;如何降低经营成本&#xff0c;提升产品质量&#xff0c;优化资源配置也成为各个企业努力的重点。 有些企业存在部门之间信息传递不及时、多组织协同效率低、不…

Java API访问HDFS

一、下载IDEA 下载地址&#xff1a;https://www.jetbrains.com/idea/download/?sectionwindows#sectionwindows 拉到下面使用免费的IC版本即可。 运行下载下来的exe文件&#xff0c;注意安装路径最好不要安装到C盘&#xff0c;可以改成其他盘&#xff0c;其他选项按需勾选即可…

2023年软件测试还能不能干,怎么干!听听这些肺腑之言!

“怎么办&#xff1f;我似乎连面试都过不了。” 小玲边喝着陪伴她度过无数熬夜的奶茶&#xff0c;边与朋友分享着自己在软件测试行业的求职之路。 被公司裁员后&#xff0c;小玲虽然通过自学掌握了一些基本的接口自动化和UI自动化测试技能&#xff0c;但面试时总还是遭遇到一些…

英伟达携手联发科打造CPU,威胁英特尔主导地位 | 百能云芯

据路透社报道&#xff0c;英伟达&#xff08;NVIDIA&#xff09;计划采用安谋&#xff08;Arm&#xff09;架构设计中央处理器&#xff08;CPU&#xff09;&#xff0c;进军个人电脑&#xff08;PC&#xff09;市场。外界已指出&#xff0c;联发科是英伟达的合作伙伴&#xff0…

利用Nginx通过内网穿透实现Windows Web多站点远程访问

文章目录 1. 下载windows版Nginx2. 配置Nginx3. 测试局域网访问4. cpolar内网穿透5. 测试公网访问6. 配置固定二级子域名7. 测试访问公网固定二级子域名 1. 下载windows版Nginx 进入官方网站(http://nginx.org/en/download.html)下载windows版的nginx 下载好后解压进入nginx目…

Redis常用知识笔记(超全面!超详细!)收藏这一篇就够了

这里写目录标题 一、Key二、常见的数据类型1、string (字符串&#xff09;1-1 常见命令1-2 案例 2、List&#xff08;列表&#xff09;2-1 常见命令2-2 案例 3、Hash&#xff08;哈希&#xff09;3-1 常见命令3-2 案例 4、Set&#xff08;集合&#xff09;元素唯一不重复4-1 常…

msigdbr hallmarks gsea broad研究所

使用msigdbr r包 #BiocManager::install("msigdb") #https://www.gsea-msigdb.org/gsea/msigdb #https://cran.r-project.org/web/packages/msigdbr/vignettes/msigdbr-intro.html #https://bioconductor.org/packages/release/data/experiment/vignettes/msigdb/ins…

vue3 setup语法糖 搜索

目录 前言 用法 1. 区域 前言 Vue.js 是一款流行的 JavaScript 框架&#xff0c;用于构建用户界面。它提供了一种简洁的方式来创建可维护和可测试的前端应用程序。Vue.js 的核心库只关注视图层&#xff0c;易于上手&#xff0c;同时与其他库或现有项目整合也非常方便。Vue…

解决Maven打包Nacos时插件报错

Maven打包指令&#xff1a;mvn clean install -Dmaven.test.skiptrue -Dcheckstyle.skiptrue 在执行时报错&#xff0c;报错信息如下&#xff1a; Failed to execute goal org.xolstice.maven.plugins:protobuf-maven-plugin:0.6.1:compile (default) on project nacos-consist…

C语言——有一篇文章,共有 3 行文字,每行有 80 个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数

完整代码&#xff1a; /* 有一篇文章&#xff0c;共有 3 行文字&#xff0c;每行有 80 个字符。要求分别统计出其中英文大写字母、 小写字母、数字、空格以及其他字符的个数*/#include<stdio.h> int main(){//创建一篇这样的文章到二维字符数组中char str[3][80] {&quo…

平面图欧拉公式

V − E P B 1 V-EPB1 V−EPB1 V V V &#xff1a;点数 E E E&#xff1a;边数 P P P&#xff1a;面数&#xff08;含外面&#xff09; B B B&#xff1a;连通块数量 通过这个我们可以处理网格图中的连通块数量问题 上图中有7个点&#xff0c;8条边&#xff0c;3个面&#x…

小红书推广高客单产品的技巧与方法

小红书作为流量市场的一块洼地&#xff0c;这里汇聚着高净值高月活的年轻女性用户&#xff0c;她们更关注高品质、高口碑的优质产品。 在这样的营销氛围下&#xff0c;越来越多高单价产品将目光聚到这里&#xff0c;通过品牌精准营销&#xff0c;有效提升产品曝光和口碑&#x…

HighCharts点击无响应问题

HighCharts 点击无响应问题 背景介绍 项目需要展示一个小时内日志设备的状态&#xff0c;由于数据量比较大&#xff0c;使用echarts效果不好。于是采用highcharts来处理显示。highcharts使用起来很方便&#xff0c;还有打印照片功能&#xff0c;相当满意。这里采用官网给的例…

jsp初学

指令标识 html java代码 out内置对象,直接拿过来用 注释 <%-- 注释内容 --%>:JSP提供了隐藏注释&#xff0c;隐藏注释不仅在浏览器页面中看不到&#xff0c;在查看HTML源代码时也看不到 动态注释,网页看不到,只能看源码<!-- <%new Date()%> --> 指令 …

springboot配置redis、Spring cache

1.Jedis库 依赖库 <dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>5.0.2</version> </dependency>使用案例&#xff1a; Testpublic void jedis(){Jedis jedis new Jedis("127…

【ceph】ceph集群的节点机器重启,导致磁盘的lvm消失,如何恢复呢~~满满的都是干货

本站以分享各种运维经验和运维所需要的技能为主 《python零基础入门》&#xff1a;python零基础入门学习 《python运维脚本》&#xff1a; python运维脚本实践 《shell》&#xff1a;shell学习 《terraform》持续更新中&#xff1a;terraform_Aws学习零基础入门到最佳实战 《k8…

用python写一个俄罗斯方块程序

用python写一个俄罗斯方块程序 1.源代码2.游戏运行 1.源代码 import pygame import random# 初始化游戏 pygame.init()# 游戏窗口尺寸 WINDOW_WIDTH 800 WINDOW_HEIGHT 600# 方块大小和颜色 BLOCK_SIZE 30 COLORS [(0, 0, 0), # 黑色(255, 0, 0), # 红色(0, 255, 0), #…