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
相关推荐
网安墨雨7 小时前
MySQL数据库 SQL语句详解
自动化测试·软件测试·数据库·python·sql·mysql
柠檬味的Cat7 小时前
GEO优化系统哪家技术强
人工智能·python
开朗小哥7 小时前
Agent claudecode学习记录
学习
跨境小陈8 小时前
2026 年如何使用 Python 抓取 Reddit 数据
开发语言·网络·python
LONGZHIQIN8 小时前
TIA Portal Openness学习笔记
笔记·学习
网络工程小王8 小时前
【HCIE-AI】12.deepspeed分布式并行训练进阶版
人工智能·pytorch·分布式·学习·昇腾·deepspeed
殿方雪之下8 小时前
OpenAI 兼容 API 接入实战:统一 Base URL 与用量控制
python
小+不通文墨8 小时前
--no-multibyte-chars 解决OLED_data.c移植后中文乱码问题
c语言·经验分享·笔记·学习
今天AI了吗8 小时前
Spring AI 框架实战:Java 后端集成大模型的架构设计与工程落地
java·人工智能·python·spring·机器学习
艾派森8 小时前
Web Scraper API vs 自建爬虫:一次真实对比测试,结果让人震惊
爬虫·python·网络爬虫