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

系列文章目录


文章目录

  • 系列文章目录
  • 前言
  • 一、程序逻辑
  • 顺序结构
  • 分支结构
  • 循环结构
  • 分支结构
  • if语句的流程图
  • if,else语句的流程图
  • if,elif,else语句的流程图
  • 断言
  • 循环结构
  • while循环结构
  • while循环的流程图
  • while…else…语句的流程图
  • for循环结构
  • for循环流程图
  • 循环语句中的跳转语句
  • 循环嵌套
  • 本章小结

  • 前言

    前面我们学习了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)
    程序是用来实现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:
        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跳转语句,往往和分支结构语句结合,在循环中去特定的实现某种功能。

    来源:心随而动

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python从入门到项目实战————程序逻辑结构

    发表评论