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

news/2024/5/18 22:38:00 标签: python, 学习, 流程图

十、流程图

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
elseprint("循环外,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

http://www.niftyadmin.cn/n/5384442.html

相关文章

redis scan命令导致cpu飙升

一.背景 今天下午Redis的cpu占用突然异常升高&#xff0c;一度占用达到了90%&#xff0c;触发了钉钉告警&#xff0c;之后又回到正常水平&#xff0c;跟DBA沟通&#xff0c;他说主要是下面这个语句的问题 SCAN 0 MATCH fastUser:6136* COUNT 10000这个语句的执行时长很短&…

ALBEF算法解读

ALBEF论文全名Align before Fuse: Vision and Language Representation Learning with Momentum Distillation&#xff0c;来自于Align before Fuse&#xff0c;作者团队为Salesforce Research。 论文地址&#xff1a;https://arxiv.org/pdf/2107.07651.pdf 论文代码&#xff1…

【ES】es查询term、match、match_phrase、mast_not、mast...

这里写自定义目录标题 数据类型不分词的匹配&#xff08;会去匹配分词的数据&#xff09;分词匹配模糊匹配其他 数据类型 keyword&#xff1a;不分词非keyword&#xff1a;分词 不分词的匹配&#xff08;会去匹配分词的数据&#xff09; 对属性名.keyword&#xff0c;就是全…

爬虫入门三(bs4模块、遍历文档树、搜索文档树、css选择器)

文章目录 一、bs4模块二、遍历文档树三、搜索文档树四、css选择器 一、bs4模块 beautifulsoup4从HTML或XML文件中提取数据的Python库,用它来解析爬取回来的xml。 1.安装pip install beautifulsoup4 # 下载bs4模块pip install lxml #解析库2. 用法第一个参数&#xff0c;是要总…

PCIE Retimer

1 Retimers retimer是一种PCIE的扩展设备&#xff0c;用于长距离高效地传输数据&#xff0c;起到一种中继器的作用。PCIe扫盲——ReTimer和ReDriver简介  在EP和RC中间最多允许两级retimers级联&#xff0c;其可以分为纯模拟类&#xff0c;它是一种对物理层协议无关的芯片&…

Unity 3D Input System的使用

Input System是Unity新推出的输入系统,可以用作以前Input Manager的更具扩展性和可自定义性的替代方案。这里我将使用Unity 3D的Input System来实现一个FPS第一人称的游戏场景。 演示效果如下: 游戏场景设置 新建一个Unity 3D项目,在Asset Store里面下载StarterAssets - F…

socket与rpc的区别

如今的游戏开发&#xff0c;不搞个跨服玩法都不好意思说在做游戏了&#xff08;当然&#xff0c;也跟游戏类型有关&#xff0c;一些轻度休闲游戏可以排除在外&#xff09;。跨服玩法的设计&#xff0c;可以进一步激发玩家追求高战力的虚荣心&#xff0c;也可以汇聚玩家数量&…

[HTML]Web前端开发技术19(HTML5、CSS3、JavaScript )HTML5 基础与CSS3 应用,hgroup, figcaption,figure,section——喵喵画网页

希望你开心&#xff0c;希望你健康&#xff0c;希望你幸福&#xff0c;希望你点赞&#xff01; 最后的最后&#xff0c;关注喵&#xff0c;关注喵&#xff0c;关注喵&#xff0c;佬佬会看到更多有趣的博客哦&#xff01;&#xff01;&#xff01; 喵喵喵&#xff0c;你对我真的…