python笔记_程序流程控制

news2024/9/27 15:32:01

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.coloradmin.cn/o/1486282.html

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

相关文章

代码随想录day10(2)字符串:反转字符串Ⅱ (leetcode541)

题目要求&#xff1a;给定一个字符串 s 和一个整数 k&#xff0c;从字符串开头算起, 每计数至 2k 个字符&#xff0c;就反转这 2k 个字符中的前 k 个字符。如果剩余字符少于 k 个&#xff0c;则将剩余字符全部反转。如果剩余字符小于 2k 但大于或等于 k 个&#xff0c;则反转前…

两天学会微服务网关Gateway-Gateway简介

锋哥原创的微服务网关Gateway视频教程&#xff1a; Gateway微服务网关视频教程&#xff08;无废话版&#xff09;_哔哩哔哩_bilibiliGateway微服务网关视频教程&#xff08;无废话版&#xff09;共计17条视频&#xff0c;包括&#xff1a;1_Gateway简介、2_Gateway工作原理、3…

Git 基于ED25519、RSA算法生成 SSH 密钥

Git 基于ED25519、RSA算法生成 SSH 密钥 基于ED25519算法&#xff0c;生成密钥对命令如下&#xff1a; ssh-keygen -t ed25519 -C "邮箱地址"基于RSA算法&#xff0c;生成密钥对命令如下&#xff1a; ssh-keygen -t rsa -C "<注释内容>"基于ED255…

中国各省绿色金融试点DID数据集(2010-2023)

一、数据简介 最新的2010-2023年中国31省绿色金融试点DID数据&#xff0c;供大家研究使用。 数据说明&#xff1a;内含绿色金融改革创新试验区名单&#xff0c;将试验区获批当年及以后的政策虚拟变量项是否试点赋值为1&#xff0c;获批之前赋值为0。其中赣江新区、贵安新区为国…

MySQL基础-----SQL语句之DDL语句

目录 前言 开启登录数据库 一、数据库操作 1.查询所有数据库 2.切换使用数据库 3.查询当前使用的数据库 4.创建数据库 创建一个hello数据库, 使用数据库默认的字符集。 创建一个itheima数据库&#xff0c;并且指定字符集 5.删除数据库 二、表操作 1.查询当前数据库所有…

递归与递推(蓝桥杯 c++)

目录 题目一&#xff1a; 代码&#xff1a; 题目二: 代码&#xff1a; 题目三&#xff1a; 代码&#xff1a; 题目四&#xff1a; 代码&#xff1a; 题目一&#xff1a; 代码&#xff1a; #include<iostream> #include<cstring> using namespace std; int …

deep learning with pytorch(一)

1.create a basic nerual network model with pytorch 数据集 Iris UCI Machine Learning Repository fully connected 目标:创建从输入层的代码开始&#xff0c;向前移动到隐藏层&#xff0c;最后到输出层 # %% import torch import torch.nn as nn import torch.nn.funct…

Vue开发实例(五)修改项目入口页面布局

修改项目入口 一、创建新入口二、分析代码&#xff0c;修改入口三、搭建项目主页面布局1、Container 布局容器介绍2、创建布局3、布局器铺满屏幕4、创建Header页面5、加入Aside、Main和Footer模块 一、创建新入口 创建新的入口&#xff0c;取消原来的HelloWorld入口 参考代码…

图像分割 - 凸包(图像的轮廓)

1、前言 之前的文章 绘制几何图形的轮廓,介绍了矩形包围框和圆形包围框。 虽然这两种包围框以及足够逼近图形的边缘,但为了保持几何形状(矩形和圆形),其实与图形的真实轮廓贴合度较差,为了更贴近图形轮廓,这里介绍凸包。 凸包:图形最外层的端点,将端点连接起来,围…

[C++]AVL树怎么转

AVL树是啥 一提到AVL树&#xff0c;脑子里不是旋了&#xff0c;就是悬了。 AVL树之所以难&#xff0c;并不是因为结构难以理解&#xff0c;而是因为他的旋转。 AVL树定义 平衡因子&#xff1a;对于一颗二叉树&#xff0c;某节点的左右子树高度之差&#xff0c;就是该节点的…

训练2布线 玛露希尔

前言 这不是雕刻 是布线纹理绘制blender材质渲染 2D 3D 起手式 八点眼 侧峰线 三角鼻(三面鼻) 下颚角 额, 嘴 线 法令环 橄榄嘴

linux高级编程:线程(二)、进程间的通信方式

线程&#xff1a; 回顾线程&#xff08;一&#xff09;&#xff1a; 1.线程间通信问题 线程间共享同一个资源&#xff08;临界资源&#xff09; 互斥&#xff1a; 排他性访问 linux系统 -- 提供了Posix标准的函数库 -- 互斥量&#xff08;互斥锁&#xff09; 原子操作&#x…

内存管理 -----分段分页

分段 分段&#xff1a;程序的分段地址空间&#xff0c;分段寻址方案 两个问题 分段 &#xff1a;是更好分离和共享 左边是有序的逻辑地址&#xff0c;右边是无序的物理地址&#xff0c;然后需要有一种映射的关系&#xff08;段关联机制&#xff09; 各个程序的分配相应的地址…

Pygame教程01:初识pygame游戏模块

Pygame是一个用于创建基本的2D游戏和图形应用程序。它提供了一套丰富的工具&#xff0c;让开发者能够轻松地创建游戏和其他图形应用程序。Pygame 支持许多功能&#xff0c;包括图像和声音处理、事件处理、碰撞检测、字体渲染等。 Pygame 是在 SDL&#xff08;Simple DirectMed…

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

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

通过MNIST手写数字识别任务快速入门深度学习(事无巨细版)

什么是深度学习 深度学习(DL, Deep Learning)是机器学习(ML, Machine Learning)领域中一个研究方向。 深度学习通过对样本数据的内在规律和特征的提取与抽象,在不同维度和层次上进行处理,让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。 相比于初期的…

【算法科目】2024年第二届全国大学生信息技术认证挑战赛 题解

图像压缩 曾经看到过&#xff0c;这是一道洛谷原题&#xff0c;很可惜我没做过&#xff0c;有点看不懂就没尝试。 原题链接&#xff1a;B3851 [GESP202306 四级] 图像压缩 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 因数分解 直接枚举就行了&#xff0c;从2开始找因子&a…

python中的类与对象(3)

目录 一. 类的多继承 二. 类的封装 三. 类的多态 四. 类与对象综合练习&#xff1a;校园管理系统 一. 类的多继承 在&#xff08;2&#xff09;第四节中我们介绍了什么是类的继承&#xff0c;在子类的括号里面写入要继承的父类名。上一节我们只在括号内写了一个父类名&…

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

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

简单实现文字滚动效果-CSS版本

先看看效果 话不多说直接上代码 <template><div class"main"><div class"scroll-region"><div class"swiper-scroll-content"><span class"list-btn" v-for"(item, index) in overviewList" :…