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

系列文章目录

在这里插入图片描述



前言

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


`

一、程序逻辑

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

顺序结构

在这里插入图片描述

分支结构

在这里插入图片描述

循环结构

在这里插入图片描述

分支结构

分支结构主要是根据布尔表达式的真值情况来执行不同的语句,然后从一个出口出去。在Python中可以用关键字if。else,elif来实现分支处理。

语句描述
if 布尔表达式:当布尔表达式为真的时候执行
if 布尔表达式:else :当表达式为真的时候执行if语句后面的语句,否则执行else后面的语句
if 布尔表达式:elif 布尔表达式:else:当if语句和elif语句后面的布尔表达式为真的时候就执行与之对应的语句,否则执行else后面的语句
if语句的流程图

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

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

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

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

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

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

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

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

断言

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

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

循环结构

while循环结构

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

while循环的流程图

在这里插入图片描述

while…else…语句的流程图

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

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

while...else...语句:
# coding:UTF-8
sum=0
num=1
while num<=100:
      sum+=num
      num+=1
else:
print("1到100所有数字的和为:%d" % (sum))

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

# coding:UTF-8
num_a=0
num_b=1
while 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-8
for num in {1,2,3}:
print(num,end=",")

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

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

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

循环语句中的跳转语句

(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:
    if 65<=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-8
sum=0
for num in range(1,100,1):
    if num%2==0:
        continue
    else:
        sum+=num
print("1 到 100中所有的奇数的和为:"+str(sum))
循环嵌套

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

# coding:UTF-8
for x in range(1,10):
    for y in range(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跳转语句,往往和分支结构语句结合,在循环中去特定的实现某种功能。

  • 17
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 40
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 40
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心随而动

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值