0


Python从入门到项目实战————程序逻辑结构

系列文章目录

在这里插入图片描述


文章目录


前言

前面我们学习了Python中如何输出,以及如何输入等级除知识,而在编程中,程序的逻辑结构也是一个非常重要的知识点,熟练掌握了程序的逻辑结构才能更好的开发。


`

一、程序逻辑

程序逻辑是编程语言中重要的部分,一般来说程序的逻辑结构有三种:顺序结构,分支结构,循环结构。这三种结构有一个共同的特点,那就是他们的入口就只有一个,出口也只有一个。下面用流程图来简单介绍一下他们的流程:

顺序结构

在这里插入图片描述

分支结构

在这里插入图片描述

循环结构

在这里插入图片描述

分支结构

分支结构主要是根据布尔表达式的真值情况来执行不同的语句,然后从一个出口出去。在Python中可以用关键字if。else,elif来实现分支处理。
语句描述if 布尔表达式:当布尔表达式为真的时候执行if 布尔表达式:else :当表达式为真的时候执行if语句后面的语句,否则执行else后面的语句if 布尔表达式:elif 布尔表达式:else:当if语句和elif语句后面的布尔表达式为真的时候就执行与之对应的语句,否则执行else后面的语句

if语句的流程图

在这里插入图片描述
示例:用if判断语句进行条件判断

# coding:UTF-8
age=20if18<=age<+22:print("我是一个大学生,拥有无穷的拼搏精神与探索精神")#语句为True,执行。print("开始为自己的梦想努力奋斗")

程序运行结果:
我是一个大学生,拥有无穷的拼搏精神与探索精神
开始为自己的梦想努力奋斗
if,else语句的流程图

在这里插入图片描述
代码示例:

# coding:UTF-8
money=100
ice_price=120if money>=90:print("骄傲的走到商店的冰柜面前拿起一个冰淇凌,然后说不用找了")if ice_price>money:print("老板将你踢出门")else:print("悄悄的回家,然后伸手向父母要钱卖冰激凌")print("冰淇凌价格太贵了,还是雪莲才是完美的")

运行结果:
骄傲的走到商店的冰柜面前拿起一个冰淇凌,然后说不用找了
老板将你踢出门
冰淇凌价格太贵了,还是雪莲才是完美的
if,elif,else语句的流程图

在这里插入图片描述
代码示例:

# coding:UTF-8
score=90if90<=score<=100:print("该学生是优等生")elif70<=score<=89:print("该学生是良好生")elif60<=score<=69:print("该学生需要被关注,有很大提高空间")else:print("该学生没有机及格,还需要努力")
程序运行结果:
该学生是优等生
断言

我们知道Python语言是由c语言开发而来,所以也完美的集成了c语言中的一些操作,比如用assert断言,很多人都不知道他的作用,或者说不太喜欢用它,但是为了程序的完整性,用断言不仅仅能保证程序的健壮性,还可以提示逻辑错误,为我们更改代码提供了便利:

score=100
age=18assert age>score  #当布尔表达式为假的时候会在这里终端,然后提示‘AssertionError’信息。 print("%d"%(age))

循环结构

while循环结构

和c语言中一样,Python也继承了while循环,但是多了一个while else循环语句
在这里插入图片描述

while循环的流程图

在这里插入图片描述

while…else…语句的流程图

在这里插入图片描述
通过上面的流程图的介绍,我们可以发现,无论是何种循环,他都必须有判断条件的修改,以达到跳出循环,避免死循环是学习中的重要部分。
下面通过一个小例子来详细的介绍如何使用while循环:
实例:实现1到100的累加和

# coding:UTF-8sum=0
num=1while num<=100:sum+=num;#循环体
    num+=1#修改循环条件  print("a到100所有数字的和为:%d"%(sum))while...else...语句:
# coding:UTF-8sum=0
num=1while num<=100:sum+=num
      num+=1else:print("1到100所有数字的和为:%d"%(sum))

看到这里很多人可能会绝的用while…else…不如用while语句简单,但是,while…else…语句在else后面会有以个独立的语句块,也就是说我们可以将语句和其他语句分隔开。这就是该语句的最大特点。
实例:输出一个斐波那契数列(1000以内)

# coding:UTF-8
num_a=0
num_b=1while num_b<1000:print(num_b,end=",")
    num_a,num_b=num_b,num_a+num_b      #数据计算
输出结果:1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,
for循环结构

在这里插入图片描述

for循环流程图

在这里插入图片描述

# coding:UTF-8for num in{1,2,3}:print(num,end=",")

如果想要使用佛for循环,往往要设置一个数据数除的范围,也就是序列,和上面一样,但是如果对于很长的序列,那我们就用range(开始值,最大值,步长)来实现。

# coding:UTF-8sum=0for num inrange(101):#最大生成的数字为101sum+=num
print(sum)
程序是用来实现1到100的数字的累加

循环结构的实例还有很多,就不一一举例了,可以自己多动手去实现。

循环语句中的跳转语句

(1).continue语句,学过c语言的同学都知道,continue是作为循环语句中的跳转语句,一般与分支结构语句结合,当满足条件时,跳过此次循环,继续下一次的循环。
(2).break语句,break语句的格式和continue相似,但是它的用法和continue不太一样,如果满足条件,直接终止该循环语句的循环,不会再循环。
实例:利用循环语句实现对字符串大写改为小写

num_all=""#将num_all置为空串
infors="I LIKE YOU,so do You Want Married with mE"for item in infors:if65<=ord(item)<=90:
        num=chr(ord(item)+32)
        num_all=num_all+num
    else:
        num_all=num_all+item
print(num_all)

实例:利用跳转语句实现求对1到100中所有奇数的和

# coding:UTF-8sum=0for num inrange(1,100,1):if num%2==0:continueelse:sum+=num
print("1 到 100中所有的奇数的和为:"+str(sum))
循环嵌套

循环结构是可以嵌套使用的,一个循环结构可以有若干个子循环结构,以此来实现更加复杂的程序结构。
例如:利用循环结构实现打印9*9乘法表:

# coding:UTF-8for x inrange(1,10):for y inrange(1,x+1):print("%d*%d=%d"%(y,x,x*y),end="\t")print()

在这里插入图片描述

本章小结

1.if语句可根据判断结果来决定程序的流程
2.分支结构包括if,if…else…,if …elif…else语句,不同的语句的选择情况不同,就i像道路一样,有的是三条道路的,有的是十字路口,根据要求去选择就好。
3.如果需要重复的执行某种功能的时候,就可以用fo或者while语句。
4.break,和continue跳转语句,往往和分支结构语句结合,在循环中去特定的实现某种功能。


本文转载自: https://blog.csdn.net/qq_59931372/article/details/125616215
版权归原作者 心随而动 所有, 如有侵权,请联系我们删除。

“Python从入门到项目实战&mdash;&mdash;&mdash;&mdash;程序逻辑结构”的评论:

还没有评论