python笔记_程序流程控制

A,顺序控制

程序从上到下逐行执行

python定义变量时,会合法地向前引用

age = 1

age2 = age +1

age2 = age +1

age = 1 ——>错误,age应在age2之前


B,分支控制

1,单分支if

语法

if 条件表达式 :

        代码块

说明:     

        a,表达式为True,执行代码块;表达式为False,不执行

        b,python缩进,可以界定代码块

if 3>2

        print("yes")

        print("ready")

        if 4>5

        print("haha")

——>

yes

ready

2,双分支if else

if 条件表达式 :

        代码块1

else:

        代码块2

name = Tom

if name == "Tom":

        print("Tom是一只猫咪")

else:

        print("这只猫咪不是Tom")

3,多分支

语法

if 条件表达式 :

        代码块1

elif 条件表达式2 :

        代码块2

......

else:

        代码块n

流程

id>=70,是老员工;id>=60,是普通员工;id>=50,是实习生,其他都是临时工

要求:从键盘输入id=55,判断员工种类

id = int(input("请输入员工id "))

if id>=70:

        print("是老员工")

elif id<=70 and id>=60:

        print("是普通员工")

elif id<=60 and id>=50:

        print("是实习生")

else:

        print("是临时工")

4,嵌套分支

语法

if:

        if:

    

说明:

        a,在一个分支结构中又嵌套了一个分支结构

        b,内层分支,外层分支

        c,嵌套不超过三层(可读性)

精灵age>2000则长寿,否则不长寿,将长寿精灵分为木精灵和卓尔

要求:输入age和种类,输出结果

age = int(print("请输入年龄:"))

if age>2000:

        print("长寿")

        spirit = print("请输入种类:")

        if spirit == "木精灵" :

                print("木精灵")

        else:

                print("卓尔")

else:

        print("不长寿")


练习(单分支,双分支)

        a,定义两个变量,判断和是否大于60,如果大于60,输出"普通成功",否则"鉴定失败"

num = 40

num2 = 50

if num+num2 >60:

        print("普通成功")

else:

        print("鉴定失败")

         b,定义两个float,第一个float大于5,且第二个float大于10,输出两数之和

num = 6.5

num2 = 15.3

if num>5 and num2>10:

        print(f"{num}+{num2}=")

        c,定义两个int,判断两者的和,是否能被3且5整除,若可以被整除,输出"yes"

num = 50

num2 = 100

if (num+num2) %3 == 0 and (num+num2) %5 == 0:

        print("yes")


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("班级的情况:平均分 {sum/5}")

2,求三个班级及格人数的总和

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

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

相关文章

雾锁王国服务器配置怎么选择?阿里云和腾讯云

雾锁王国/Enshrouded服务器CPU内存配置如何选择&#xff1f;阿里云服务器网aliyunfuwuqi.com建议选择8核32G配置&#xff0c;支持4人玩家畅玩&#xff0c;自带10M公网带宽&#xff0c;1个月90元&#xff0c;3个月271元&#xff0c;幻兽帕鲁服务器申请页面 https://t.aliyun.com…

Unity UGUI之Scrollbar基本了解

Unity的Scrollbar组件是用于在UI中创建滚动条的组件之一。滚动条通常与其他可滚动的UI元素&#xff08;如滚动视图或列表&#xff09;一起使用&#xff0c;以便用户可以在内容超出可见区域时滚动内容。 以下是Scrollbar的基本信息和用法: 1、创建 在Unity的Hierarchy视图中右…

Springboot+vue的考勤管理系统(有报告)。Javaee项目,springboot vue前后端分离项目。

演示视频&#xff1a; Springbootvue的考勤管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot vue前后端分离项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层…

181基于matlab的利用LMS算法、格型LMS算法、RLS算法、LSL算法来估计线性预测模型参数a1和a2

基于matlab的利用LMS算法、格型LMS算法、RLS算法、LSL算法来估计线性预测模型参数a1和a2&#xff1b;预测信号由二阶线性预测模型产生。2.利用LMS算法和RLS算法将一个叠加有噪声的信号实现噪声消除&#xff0c;恢复原始信号。有22页试验分析文档。&#xff08;包括程序在内&…

【C++】vector的使用和模拟实现(超级详解!!!!)

文章目录 前言1.vector的介绍及使用1.1 vector的介绍1.2 vector的使用1.2.1 vector的定义1.2.2 vector iterator 的使用1.2.3 vector 空间增长问题1.2.3 vector 增删查改1.2.4 vector 迭代器失效问题。&#xff08;重点!!!!!!&#xff09;1.2.5 vector 在OJ中有关的练习题 2.ve…

项目设计:基于Qt和百度AI的车牌识别系统(嵌入式ARM)

基于Qt和百度AI智能云实现的智能车牌识别系统&#xff0c;具体可实现为停车场管理系统、智能计费停车系统…等。 1.系统实现思路及框架 1.1实现思路 要实现一个车牌识别系统&#xff0c;有多种方法&#xff0c;例如用opencv图像算法实现&#xff0c;或用第三方算法接口&#x…

StarRocks——Stream Load 事务接口实现原理

目录 前言 一、StarRocks 数据导入 二、StarRocks 事务写入原理 三、InLong 实时写入StarRocks原理 3.1 InLong概述 3.2 基本原理 3.3 详细流程 3.3.1 任务写入数据 3.3.2 任务保存检查点 3.3.3 任务如何确认保存点成功 3.3.4 任务如何初始化 3.4 Exactly Once 保证…

Presto简介、部署、原理和使用介绍

Presto简介、部署、原理和使用介绍 1. Presto简介 1-1. Presto概念 ​ Presto是由Facebook开发的一款开源的分布式SQL查询引擎&#xff0c;最初于2012年发布&#xff0c;并在2013年成为Apache项目的一部分&#xff1b;Presto 作为现在在企业中流行使用的即席查询框架&#x…

Matlab偏微分方程拟合 | 源码分享 | 视频教程

专栏导读 作者简介&#xff1a;工学博士&#xff0c;高级工程师&#xff0c;专注于工业软件算法研究本文已收录于专栏&#xff1a;《复杂函数拟合案例分享》本专栏旨在提供 1.以案例的形式讲解各类复杂函数拟合的程序实现方法&#xff0c;并提供所有案例完整源码&#xff1b;2.…

三天学会阿里分布式事务框架Seata-seata事务日志mysql持久化配置

锋哥原创的分布式事务框架Seata视频教程&#xff1a; 实战阿里分布式事务框架Seata视频教程&#xff08;无废话&#xff0c;通俗易懂版&#xff09;_哔哩哔哩_bilibili实战阿里分布式事务框架Seata视频教程&#xff08;无废话&#xff0c;通俗易懂版&#xff09;共计10条视频&…

重学SpringBoot3-自动配置机制

重学SpringBoot3-自动配置机制 引言Spring Boot 自动配置原理示例&#xff1a;Spring Boot Web 自动配置深入理解总结相关阅读 引言 Spring Boot 的自动配置是其最强大的特性之一&#xff0c;它允许开发者通过最少的配置实现应用程序的快速开发和部署。这一切都得益于 Spring …

【C++】set、multiset与map、multimap的使用

目录 一、关联式容器二、键值对三、树形结构的关联式容器3.1 set3.1.1 模板参数列表3.1.2 构造3.1.3 迭代器3.1.4 容量3.1.5 修改操作 3.2 multiset3.3 map3.3.1 模板参数列表3.3.2 构造3.3.3 迭代器3.3.4 容量3.3.5 修改操作3.3.6 operator[] 3.4 multimap 一、关联式容器 谈…

Latex中如何调整算法伪代码\begin{algorithm}的字体大小?

在LaTeX中&#xff0c;要调整algorithm环境&#xff08;通常与algorithmic、algorithmicx、algorithm2e等包一起使用来编写伪代码&#xff09;中的字体大小&#xff0c;你可以使用\small、\footnotesize、\tiny等命令来减小字体大小&#xff0c;或者使用\large、\Large、\LARGE…

【MySQL】索引(重点)-- 详解

一、索引 没有索引&#xff0c;可能会有什么问题&#xff1f; 索引 &#xff1a;提高数据库的性能&#xff0c;索引是物美价廉的东西了。不用加内存&#xff0c;不用改程序&#xff0c;不用调 sql &#xff0c;只要执行正确的 create index &#xff0c;查询速度就可能提高成…

Unity曲柄滑块四杆机构运动计算

一、运动效果 二、机构的介绍 曲柄长度&#xff1a;a&#xff0c;线段AB长度 连杆长度&#xff1a;b&#xff0c;线段BC长度 偏心距离&#xff1a;e&#xff0c;滑块轨迹与曲柄中心点A的垂直距离 三、已知点A点B和e的值&#xff0c;计算C点的位置 1、计算s的值 var h math.…

ES6 | (二)ES6 新特性(下) | 尚硅谷Web前端ES6教程

文章目录 &#x1f4da;迭代器&#x1f407;定义&#x1f407;工作原理&#x1f407;自定义遍历数据 &#x1f4da;生成器函数&#x1f407;声明和调用&#x1f407;生成器函数的参数传递&#x1f407;生成器函数案例 &#x1f4da;Promise&#x1f4da;Set&#x1f407;Set的定…

SpringBoot3-核心原理

1. 事件和监听器 1. 生命周期监听 场景&#xff1a;监听应用的生命周期 1. 监听器-SpringApplicationRunListener 自定义SpringApplicationRunListener来监听事件&#xff1b; 编写SpringApplicationRunListener 实现类在 META-INF/spring.factories 中配置 org.springfram…

解决鸿蒙模拟器卡顿的问题

缘起 最近在学习鸿蒙的时候&#xff0c;发现模拟器非常卡&#xff0c;不要说体验到鸿蒙的丝滑&#xff0c;甚至到严重影响使用的程度。 根据我开发Android的经验和在论坛翻了一圈&#xff0c;最终总结出了以下几个方案。 创建模拟器 1、在DevEco Virtual Device Configurat…

Revit-二开之立面视图创建FilledRegion-(3)

在上一篇博客中介绍了FilledRegion的创建方法,这种方法通常只在平面视图中适用,在三维视图中也是无法创建的(目前研究的是这样的,如果有其他方法,请赐教)。 本片文章介绍一个下在立面视图中创建FilledRegion的方法,主要操作是在立面视图中拾取一个点,然后以该点为原点,…

(3)(3.1) FlightDeck FrSky发射器应用程序

文章目录 前言 1 概述 2 Turnkey Packages 3 参数说明 前言 ​Craft and Theory 的 FlightDeck 可让你轻松查看飞行模式、高度、速度、姿态和关键系统警报&#xff0c;包括故障保护和电池错误&#xff0c;如电池不平衡警告和发射机低电量警报。 1 概述 Craft and Theory 的…