python笔记_程序流程控制2

C,循环控制

1,for循环

功能:让代码循环运行

语法:

for <变量> in <范围、序列>:

<循环操作语句>

nums = (1,2,3,4) <class 'list'>

for i in nums:

        print("第",i,"名")

——>

第1名

第2名

第3名

第4名

说明:

        1,for,in是关键字

        2,<范围、序列>可以理解为要处理的数据集,必须是可迭代对象(字符串,列表等)

        3,<循环操作语句>可以有多条

        4,python的for循环是轮询机制(一个一个问过去)

        5,可以和else配合使用

for <变量> in <范围、序列>:

<循环操作语句>

else:

<循环操作语句>

流程图

tips:遍历数字序列,可以使用内置range()函数,生成数列,且数列前闭后开

        range()函数 

        1,range()是一个不可变的序列类型

        2,默认step=1,start=0

        3,list()函数可以查看range()生成的序列包含的数据

        4,生成的数列前闭后开

        语法

        range(start,stop,step=1):

        range(起点,终点,每次增加的数)

        要求:生成(1,2,3,4,5)

        r = range(1,6,1)

        print(list(r))

        ——>

        (1,2,3,4,5)

练习(for)

1,生成(0,1,2,3,4,5)

range(6):

print(list(range))

2,用for range输出10次hello world

for a range(10):

        print("hello world")


2,while循环

功能:在表达式为的前提下,重复地执行

语法

while <判断条件>:

        <循环操作语句>

说明:

        1,while是关键字

        2,条件为True,执行<循环操作语句>;条件为False,退出while

        3, <循环操作语句>可以有多条

age = 1

while age < 4:

        print("Tom还不到4岁",age)

        age += 1 age会不断+1

——>

Tom还不到4岁 1

Tom还不到4岁 2

Tom还不到4岁 3

流程图

        4,while可以和else一起使用

while <判断条件>

        <循环操作语句>

else

        <其他语句>在while else判断条件为False时,会执行else的语句块

age = 1

while age < 4:

        print("Tom还不到4岁",age)

        age += 1 age会不断+1

else

        print("Tom是只大猫咪")

——>

Tom还不到4岁 1

Tom还不到4岁 2

Tom还不到4岁 3

Tom是只大猫咪


练习(while)

1,输出,1-100中所有能被3整除的数

a = 1

while a <= 100:

        if a%3 = 0

                print(a)

        a += 1

2,输出,40-100中所有偶数

a = 40

while a <=100:

        if a%2 = 0:

                print(a)

        a +=1 

3,键盘输入name,输入exit时结束 

name = input("请输入名字:")

while name != "exit":

        #name = input("请输入名字:")也可以写在这边

        print("name")

4,输出,1-100中所有能被9整除的数,并统计个数,算出总和

a = 1

count = 0

sum = 0

while a <= 100:

        if a%9 == 0:

                print(a)

                count += a

                sum += a

        a += 1

print(f"count={count} sum={sum}")


 3,多重循环

功能:将 一个循环放在另一个循环里(for,while)

说明

        1,嵌套循环就是把内层循环当成外层循环的循环体

        2,循环尽量不超过三个(可读性)

        3,如果外层循环是m次,内层循环是n次,一共需要循环m*n次

使用for 输出五层的空心金字塔

输出*****

for a in range(1,6):a控制每层输出的*的个数

        print("*",end ="")使用end ="",让输出结果不换行

输出由*组成的矩形 

for b in range(1,6):b控制输出层数

        for a in range(1,6):

                print("*",end ="")

        print("")print("")每层输出后换行

输出直角三角形 

for b in range(1,6):

        for a in range(b):每层输出的*的个数=(1,b+1)= b

                print("*",end ="")

        print("")

 输出金字塔

for b in range(1,6):

        for c in range(5-b):c控制空格数,每层的空格数=5-b

                print(" ",end ="")

        for a in range(2*b-1):每层*的个数=2*b-1

                print("*",end ="")

        print("")

 输出空心金字塔

每层的两边输出*,最后一层输出*

for b in range(1,6):

        for c in range(5-b):

                print(" ",end ="")

        for a in range(2*b-1):

                if a == 0 or a == 2*b-1-1 or a = 5:金字塔的两边(左边和右边的*),最后一层

                        print("*",end ="")

                else:

                        print(" ",end ="")金字塔中间的空格

        print("")

 输出层数可随意改变的空心金字塔

使用total_level(总层数)

for b in range(1,total_level):

        for c in range(total_level-b):

                print(" ",end ="")

        for a in range(2*b-1):

                if a == 0 or a == 2*b-1-1 or a = total_level

                        print("*",end ="")

                else:

                        print(" ",end ="")

        print("")

练习 

统计三个班的成绩,每班有五个学生

1,求各个班的平均分,从键盘输入学生成绩

sum = 0.0一个班的总分

for a range(6):

        score = float(input("请输入成绩:"))

        sum += score 累加到sum

print(f"班级平均分 {sum/5}")

2,求三个班级及格人数的总和以及平均分

sum = 0.0

total = 0.0平均分

pass_num = 0及格人数

for b range(1,4):三个班

        for a range(6):

                score = float(input("请输入b班级a学生成绩:"))

                if sum >= 60.0:判断是否及格

                        pass_num += 1累加到pass_num

                sum += score

        print(f"第b班级平均分 {sum/5}")

        total += sum

print(f"所有班级的平均分{total/5*3 及格人数{pass_num}")

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

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

相关文章

Java中文件的相关知识及文件IO操作

在我们日常生活中&#xff0c;会把许多东西都称之为文件。比如&#xff0c;一份纸质报告&#xff0c;或u盘中的一些文档&#xff0c;都会把它们称为文件。那么&#xff0c;这里说的文件是以操作系统的角度出发的。在操作系统中&#xff0c;会把许多硬件设备和软件资源都抽象成“…

ubuntu20.04安装nvidia驱动真实有效(被折磨了一天一夜的肝文!!!)

ubuntu20.04安装nvidia驱动真实有效 安装前后需要注意的安装nvidia驱动的教程 安装前后需要注意的 能找到这篇帖子说明你之前肯定有过无数次方法的尝试&#xff0c;这些尝试可能会影响下面教程的有效 1.下面这个指令可能会导致ubuntu内核的更新。内核更新可能会导致你的nvidia…

机器学习:主成分分析笔记

主成分分析&#xff08;Principal Component Analysis&#xff0c;PCA&#xff09;是一种无监督的机器学习算法&#xff0c;通常用于高维数据的降维、提取主要特征、数据降噪和可视化。PCA的基本思想是将原始数据的多个变量转换为少数几个相互独立的变量&#xff08;即主成分&a…

shadertoy 游戏《来自星尘》摇杆复刻

正确的做法应该是上 noise 而不是叠加 sin 波&#xff0c;不过如果不想麻烦的话叠波还是一个不错的选择&#xff1a;整体效果如下&#xff0c;已经非常形似 直接上链接&#xff1a;Shader - Shadertoy BETA float radiusScale 0.9; float variation(vec2 v1, vec2 v2, float …

node.js 封装分页查询

node.js封装sql分页查询 方法&#xff1a; /*** 生成分页查询sql* param {string} table 表名* param {number} pageNum 分页页数 * param {number} pageSize 分页条数 * param {object} query 查询对象 例&#xff1a;{id:1,name:小明}* returns sql语句*/ const limit (ta…

Java零基础-反射

哈喽&#xff0c;各位小伙伴们&#xff0c;你们好呀&#xff0c;我是喵手。 今天我要给大家分享一些自己日常学习到的一些知识点&#xff0c;并以文字的形式跟大家一起交流&#xff0c;互相学习&#xff0c;一个人虽可以走的更快&#xff0c;但一群人可以走的更远。 我是一名后…

springboot/ssm供应商管理系统Java货物进销存管理系统web

springboot/ssm供应商管理系统Java货物进销存管理系统web 基于springboot(可改ssm)vue项目 开发语言&#xff1a;Java 框架&#xff1a;springboot/可改ssm vue JDK版本&#xff1a;JDK1.8&#xff08;或11&#xff09; 服务器&#xff1a;tomcat 数据库&#xff1a;mysq…

传感器---触摸传感器

一、模块选型概述 芯片型号&#xff1a;TTP223B 供电电压&#xff1a;3-5V 控制接口&#xff1a;共三个引脚&#xff08;GND、VCC、SIG&#xff09;&#xff0c;GND为地&#xff0c;VCC为供电电源&#xff0c;SIG为数字信号输出脚&#xff1b; PCB尺寸&#xff1a;24 x 24 mm 触…

图像传感器与信号处理——SFR算法/ISO 12233解读

图像传感器与信号处理——SFR算法/ISO 12233解读 图像传感器与信号处理——SFR算法/ISO 12233解读 1. 前言 2. 基于视觉的分辨率测量方法 3. 基于边界的SFR算法 4. 基于正弦波的SFR算法 图像传感器与信号处理——SFR算法/ISO 12233解读 SFR的全称是Spatial Frequency Response&…

蓝桥集训之统计子矩阵

统计子矩阵 核心思想&#xff1a;矩阵前缀和 双指针 用i和j双指针 遍历所有子矩阵的列用s和t双指针 遍历所有子矩阵的行求其子矩阵的和 若>k 将s向下移动 矩阵和必定减小(元素个数减少)直到满足<k 因为列一定 行数即为方案数(从t行往上数到s行 共t-s1个区间[t,t][t-1,t]…

PESTEL分析

PESTEL分析是一种用于评估宏观环境对组织或企业的影响的工具。PESTEL是对政治、经济、社会、技术、环境和法律六个方面进行分析的首字母缩写。 - 政治因素&#xff08;Political&#xff09;&#xff1a;涉及政府政策、政治稳定性、法律和法规等因素对企业的影响。 - 经济因素&…

Linux中服务端开发

1 创建socket,返回一个文件描述符lfd---socket(); 2 将lfd和IP&#xff0c;PROT进行绑定---bind(); 3 将lfd由主动变成被动监听---listen(); 4 接收一个新的连接&#xff0c;得到一个的文件描述符cfd--accept() --该文件描述符用于与客户端通信 5 while(1) { 接受数据&a…

MySQL——存储引擎

存储引擎 InnoDB 是 MySQL 默认的存储引擎&#xff0c;只有在需要它不支持的特性时&#xff0c;才会考虑其他存储引擎 实现了 4 个标准的隔离级别&#xff0c;默认级别可重复度。在可重复度隔离级别下&#xff0c;通过 MVCC 间隙锁防止幻读 主索引是聚簇索引 内部做了很多…

Docker 日志存储大小限制,默认会充爆磁盘

背景 在容器化部署的时候&#xff0c;因为没有指定日志的最大存储时间&#xff0c;导致磁盘被充爆。查看日志 一般使用docker logs -f --tail 行数 容器名称 来查看容器的运行日志&#xff0c;但是在容器被初始化的时候&#xff0c;需要指定日志的最大存储时间&#xff0c;因为…

React学习笔记

1、React初步认识 React构建Web和原生交互界面的库,相较于其它前端框架的优势,具有丰富的生态跨平台支持。 1.1、React的开发依赖 开发React必须依赖三个库: react:包含react所必须的核心代码;react-dom:react渲染在不同平台所需要的核心代码 ;babel:将jsx转换成Rea…

白云山板蓝根,一年四季都得备着

上班半年&#xff0c;每天都感觉在行尸走肉&#xff0c;长时间地坐在电脑前真的不行&#xff01;身体越来越差&#xff0c;面相也越来越糟糕&#xff0c;不仅有黑眼圈&#xff0c;痘痘也冒出来了不少&#xff0c;堪比整容&#xff0c;朋友们都纷纷调侃我&#xff0c;说我上半年…

限流、流量削峰?

学MQ的时候&#xff0c;经常会有人拿秒杀这个场景去介绍流量削峰。这很好理解&#xff0c;将请求放到一个中转站去暂存&#xff0c;虽然生产者生产很快&#xff0c;但消费者可以慢慢去中转站获取。 关于限流&#xff0c;之前一直以为限流的思想类似MQ&#xff0c;不过是内存中…

网络安全: Kali Linux 使用 docker-compose 部署 openvas

目录 一、实验 1.环境 2.Kali Linux 安装docker与docker-compose 3.Kali Linux 使用docker-compose方式部署 openvas 4. KaliLinux 使用openvas 二、问题 1. 信息安全漏洞库 2.信息安全漏洞共享平台 3.Windows 更新指南与查询 4.CVE 查询 5.docker-compose 如何修改o…

前后端分离项目Docker部署指南(上)

目录 前言 一.搭建局域网 1.搭建net-ry局域网&#xff0c;用于部署若依项目 2.注意点 二.安装redis 创建目录 将容器进行挂载 ​编辑 测试是否安装成功 ​编辑 三. 安装MySQL 创建文件夹 上传配置文件并且修改 .启动MySQL容器服务 充许远程连接 四.部署后端 使用…

LLVM clang_tokenize 的示例

1&#xff0c; 环境搭建 如同上篇 git clong llvm-project git checkout llmvorg-3.4.0 # or llvmorg-18.1.rc /bin/bash ./confiure --prefix....... # or cmake Debug make -j32 make -j install 2&#xff0c; 示例代码 Makefile&#xff1a;如同上篇 LLVM_CON…