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 += 1age会不断+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 += 1age会不断+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,求三个班级及格人数的总和

相关推荐
s_little_monster26 分钟前
【QT】QT入门
数据库·c++·经验分享·笔记·qt·学习·mfc
alfiy1 小时前
Elasticsearch学习笔记(六)使用集群令牌将新加点加入集群
笔记·学习·elasticsearch
爱学的小涛1 小时前
【NIO基础】基于 NIO 中的组件实现对文件的操作(文件编程),FileChannel 详解
java·开发语言·笔记·后端·nio
爱学的小涛1 小时前
【NIO基础】NIO(非阻塞 I/O)和 IO(传统 I/O)的区别,以及 NIO 的三大组件详解
java·开发语言·笔记·后端·nio
JavaGPT2 小时前
prometheus学习笔记之PromQL
笔记·学习·prometheus
害羞的白菜2 小时前
Nginx基础详解5(nginx集群、四七层的负载均衡、Jmeter工具的使用、实验验证集群的性能与单节点的性能)
linux·运维·笔记·jmeter·nginx·centos·负载均衡
m0_6896182813 小时前
水凝胶发生器,不对称设计妙,医电应用前景广
笔记
Ace'13 小时前
每日一题&&学习笔记
笔记·学习
挥剑决浮云 -13 小时前
Linux 之 安装软件、GCC编译器、Linux 操作系统基础
linux·服务器·c语言·c++·经验分享·笔记