Python学习-流程图、分支与循环(branch and loop)

十、流程图

1、流程图(Flowchart)

流程图是一种用于表示算法或代码流程的框图组合,它以不同类型的框框代表不同种类的程序步骤,每两个步骤之间以箭头连接起来。

好处:

1)代码的指导文档

2)有助于规划高效率的程序结构

3)便于与他人交流

流程图的思维是至上往下走的,线性逻辑的思维模式。

2、函数(function)

函数就是对一段代码进行封装。

3、思维导图(Mind Map)

思维导图又叫心智图,是表达发散性思维的有效的图形思维工具,它简单却又极其有效,是一种革命性的思维工具。

十一、分支与循环(branch and loop)

1、分支结构 - if语句

Python的分支结构由if语句来实现的,有5种语法:

1)判断一个条件,如果这个条件成立,就执行其包含的某条语句或某个代码块。包含的语句使用缩进,缩进决定了从属关系。

python 复制代码
if condition:
     statement(s)

举例:

python 复制代码
if 3<5:
    print("我在里面")
    print("我也在里面")
print("我在外面")

2)判断一个条件:

如果条件成立,就执行其包含的某条语句或某个代码块

如果条件不成立,就执行另外的某条语句或某个代码块

python 复制代码
if condition:
     statement(s)
else:
     statement(s)

举例:

python 复制代码
if "小甲鱼" == "小姐姐":
    print("小甲鱼是小姐姐!")
else:
    print("小甲鱼不是小姐姐!")

3)判断多个条件:

如果第1个条件不成立,则继续判断第2个条件,如果第2个条件还不成立,则接着判断第3个条件......

python 复制代码
if condition1:
     statement(s)
elif condition2:
     statement(s)
elif condition3:
     statement(s)
......

举例:

python 复制代码
score = input("请输入你的分数:")
score = int(score)
 
if 0<= score < 60:
    print("D")
elif 60<= score < 80:
    print("C")
elif 80<= score < 90:
    print("B")
elif 90<= score < 100:
    print("A")
elif score == 100:
    print("S")

4)多条件else:

第4种是在第3种的情况下添加一个else,表面上面所有的条件均不成立的情况下,执行某条语句或某个代码块。

python 复制代码
if condition1:
     statement(s)
elif condition2:
     statement(s)
elif condition3:
     statement(s)
......
else:
     statement(s)

举例:

python 复制代码
score = input("请输入你的分数:")
score = int(score)
 
if 0<= score < 60:
    print("D")
elif 60<= score < 80:
    print("C")
elif 80<= score < 90:
    print("B")
elif 90<= score < 100:
    print("A")
elif score == 100:
    print("S")
else:
    print("请输入 0~100 之间的分值!")

5)条件表达式

条件成立时执行的语句 if condition else 条件不成立时执行的语句

举例:

正常表达式:

python 复制代码
age = 16
if age < 18:
   print("抱歉,未满18岁禁止访问。")
else:
  print("欢迎您来~")

条件表达式:

python 复制代码
age = 16
print("抱歉,未满18岁禁止访问。")  if age < 18 else print("欢迎您来~")

案例4的条件表达式:

python 复制代码
score = 66
level = ('D' if 0<= score <60 else
           'C' if 60<= score <80 else
           'B' if 80<= score <90 else
           'A' if 90<= score <100 else
           'S' if  score == 100 else
           "请输入 0~100 之间的分值!")
print(level)

2、分支结构的嵌套

举例:

python 复制代码
age = 18
isMale = True
if age <18 :
    print("抱歉,未满18岁禁止访问。")
else:
    if isMale:
          print("任君选购!")
    else:
          print("抱歉,本店商品可能不适合小公举哦")

3、循环结构

(1)while循环

只要条件成立,其包含的某条语句或某个语句块就会一直被执行。

python 复制代码
while condition:
         statement(s)

举例:

python 复制代码
love = "yes"
while love == "yes":
        love = input("今天你还爱我吗?")

(2)for循环

下面可以看到,第5部分

(3)退出死循环

1)break

2)continue:

continue也会跳出循环体,但只是跳出本轮循环,它还会回到循环体的条件判断位置,然后继续下一轮的循环。

举例:

python 复制代码
i = 0
while i < 10:
     i += 1
     if i % 2 == 0:
             continue
     print(i)
 
1
3
5
7
9

3)break和continue的区别

4)else

当循环的条件不再为真的时候,便会执行else语句的内容。

举例:

python 复制代码
i = 1
while i < 5:
    print("循环内,i的值是", i)
    i += 1
else:
    print("循环外,i的值是", i)

4、循环结构的嵌套

无论是break语句还是continue语句,它们只能作用于一层循环体。

python 复制代码
day = 1
hour = 1
while day <= 7:
    while hour <= 8:
        print("今天我一定要坚持学习8小时!")
        hour += 1
        if hour >1:
            break
    day += 1
 
今天我一定要坚持学习8小时!
今天我一定要坚持学习8小时!
今天我一定要坚持学习8小时!
今天我一定要坚持学习8小时!
今天我一定要坚持学习8小时!
今天我一定要坚持学习8小时!
今天我一定要坚持学习8小时!

九九乘法表

python 复制代码
i = 1
while i <= 9:
    j = 1
    while j <= i:
        print(j,"*",i,"=",j * i,end=" ")
        j += 1
    print()
    i += 1

5、for循环

for 变量 in 可迭代对象 :

python 复制代码
   statement(s)

可迭代对象指元素能够被单独提取出来的对象,比如字符串。

举例:for循环每次从字符串Love里面提取出一个字符,并赋值给变量each,循环体内只有一个语句,将each变量值打印出来。

python 复制代码
for each in "Love":
    print(each)
 
    
L
o
v
e
举例用while来实现:
i = 0
while i < len("Love"):
    print("Love"[i])
    i += 1
 
    
L
o
v
e

6、range生成数值序列,参数只能是整型。

python 复制代码
range(stop)
range(start, stop)
range(start, stop, step)

举例:

python 复制代码
for i in range(10):
    print(i)
 
    
0
1
2
3
4
5
6
7
8
9
 
for i in range(5,10):
    print(i)
 
    
5
6
7
8
9
 
for i in range(5,10,2):
    print(i)
 
    
5
7
9

举例:从0加到100万的和

python 复制代码
i =1
sum = 0
while i <= 1000000:
    sum += i
    i += 1
    
print(sum)
 
500000500000
 
sum = 0
for i in range(1000001):
    sum += i
print(sum)
500000500000

举例:查看10以内的素数

python 复制代码
for n in range(2,10):
    for x in range(2,n):
        if n % x ==0:
            print(n,"=",x,"*",n // x)
            break
    else:
            print(n,"是一个素数")
 
            
2 是一个素数
3 是一个素数
4 = 2 * 2
5 是一个素数
6 = 2 * 3
7 是一个素数
8 = 2 * 4
9 = 3 * 3
相关推荐
独行soc2 小时前
2025年渗透测试面试题总结-66(题目+回答)
java·网络·python·安全·web安全·adb·渗透测试
Y学院4 小时前
Python 数据分析:从新手到高手的“摸鱼”指南
python·数据分析
深耕AI4 小时前
【PyTorch训练】准确率计算(代码片段拆解)
人工智能·pytorch·python
eqwaak05 小时前
科技信息差(9.12)
开发语言·python·科技·量子计算
茯苓gao5 小时前
STM32G4 电流环闭环
笔记·stm32·单片机·嵌入式硬件·学习
easy20205 小时前
机器学习的本质:从跑模型到真正解决问题
笔记·学习·机器学习
Blossom.1185 小时前
从“能写”到“能干活”:大模型工具调用(Function-Calling)的工程化落地指南
数据库·人工智能·python·深度学习·机器学习·计算机视觉·oracle
蒋星熠5 小时前
破壁者指南:内网穿透技术的深度解构与实战方法
网络·数据库·redis·python·websocket·网络协议·udp
shizidushu5 小时前
使用 Pyinstaller 打包 PPOCRLabel
python·pyinstaller