零基础学Python之程序的组织结构(顺序、选择/分支、循环)。超详细,你值得拥有。

发布时间:2024年01月25日

前言

在前面几篇的学习中,我们对Python中的输入输出以及各种数据类型之间的操作有了初步认识。在本篇我们将学习程序的组织结构,分别有顺序结构、选择/分支结构、循环结构,它们支撑起了各种或简单或复杂的代码,相信这篇文章会让正在学习的你有所收获的。

顺序结构

顺序结构就是按程序语句的自然顺序,从上到下,依次执行每条语句的程序。具体流程如下:
在这里插入图片描述
示例如下:

name ='树小先生'
num =34
a=b=c=100
print(name)#输出 树小先生
print(num)#输出 34
print(a,b,c)#输出 100 100 100

除了这种简单的赋值语句外,输入输出语句也是典型的顺序结构,示例如下:

name =input('请输入您的姓名:')#输入 树小先生
age =eval(input('请输入您的年龄:'))#输入 18
print('您的姓名是:',name)#输出 树小先生
print('您的年龄是',age)#输出 18

选择/分支结构

选择结构也称分支结构,是按照条件选择执行不同的代码段。有单分支结构、双分支结构以及多分支结构,同时还可使用模式匹配选择语句。

单分支结构

单分支的执行流程为如果表达式的值为True,就执行语句块,如果表达式的值为False,就跳过语句块,继续执行后面的代码,流程如下:
在这里插入图片描述
举一个买彩票中奖的例子,你选了一个号码(if判断),如果你选的和中奖号码一致(判断结果为True),那么你就中奖了,你就暴富了(执行语句块);如果不一致(判断结果为False),那就没中奖(不执行后续语句块),自然就没有暴富这一说,示例如下:

number =eval(input('请输入您的四位中奖号码:'))
#使用if语句
if number == 1234 :
    print('恭喜您,您暴富了')

在实际中我们只需要判断表达式的返回值时True还是False即可,同时,直接在表达式中输入程序也是可以运行的的,示例如下:

flag =eval(input('请输入一个值:True或False:'))
if flag:
    print('flag的值为True')
if not flag:
    print('flag的值为False')

同时使用if语句时,如果语句块只有一句代码,可以直接将语句块写在冒号后面,示例如下:

x =eval(input('输出x的值:'))
y =eval(input('输出y的值:'))
max =y
if x>y:max=x
print('x与y中的最大值是',max)#x=10,y=20时,输出20;x=30,y=20时,输出30

双分支结构

双分支结构其实就是 if…else… 结构,流程如下:
在这里插入图片描述
当程序运行时,如果表达式的值为True,就执行语句1,否则就执行语句2。还是以中奖为例:

num =eval(input('请输入四位中奖号码:'))
#if...else
if num ==1234:
    print('恭喜中奖了')
else:
    print('抱歉未中奖')

大体于单分支结构相似,其中双分支结构还可以进行进一步简化,示例如下:

num =eval(input('请输入四位中奖号码:'))
#法一:
result ='恭喜中奖了' if num ==1234 else '抱歉未中奖'
print(result)
#法二:
print('恭喜中奖了' if num ==1234 else '抱歉未中奖')

多分支结构

多分支结构相当于双分支的进一步发展,在程序执行中人们可以任意的添加判断情况用来满足程序要求,流程如下:
在这里插入图片描述
我们以成绩为例:

score =input('请输入你的成绩:')
if score =='S':
    print('你的成绩为S')
elif score =='A':
    print('你的成绩为A')
elif score =='B':
    print('你的成绩为B')
elif score =='C':
    print('你的成绩为C')
elif score =='D':
    print('你的成绩为D')
else:
    print('请重新输入你的成绩')

当输入我们的成绩后,程序会根据不同的情况基于不同的应答,适用于各种情况。

模式匹配

模式匹配的使用于多分支结构相像,在执行时都拥有多种情况并给出不同的对应回答,在使用要注意,模式匹配是在Python3.11版本时出现的,如果有的小伙伴不能正常运行不要着急,看看自己的版本是否落后即可。示例如下:

score =input('请输入你的成绩等级A/B/C/D:')
match score:#Python3.11版本以上支持,以下不支持
    case 'A':
        print('优秀')
    case 'B':
        print('良好')
    case 'C':
        print('及格')
    case 'D':
        print('不及格')

循环结构

在Python中循环结构分两类,一类是遍历循环结构for,一类是无限循环结构while。

遍历循环for

遍历循环的语句结构为:

for 循环变量 in 遍历对象:
(缩进)语句块

在遍历循环时的遍历对象会依次进入语句块中执行相应程序。比如我们遍历循环输出一个字符串,示例如下:

#遍历字符串
for i in 'hello':
    print(i)    #依次换行输出 h e l l o

在遍历循环时我们常用range()函数,它是Python内置函数,产生一个[n,m)的整数序列,包含n但是不包含m,示例如下:

for i in range(1,6):
    print(i)    #依次输出 1 2 3 4 5

在进行遍历循环时我们也可以进行一些判断表达式,从而获取所需内容,比如在分辨1~10中的奇数和偶数或者偶数累加值,示例如下:

#分辨奇偶
for i in range(1,10):
    if i%2 ==0:
        print(i)#依次输出 2 4 6 8
    else:
        print(i)#依次输出 1 3 5 7 9
#累加
sum =0
for i in range(1,10):
    if i%2 ==0:
    	sum +=i
else:
    print('1到10的偶数累加和为',sum)  #sum =20,循环遍历结束后执行else语句    

无限循环while

使用无限循环while有四大步骤:

  1. 初始化变量
  2. 条件判断
  3. 语句块
  4. 改变变量
    我们用一个示例展示,示例如下:
#1.初始化变量
answer =input('是否去上课?y/n')
while answer =='y': #2.条件判断
    print('加油,努力学习')    #3.语句块
    #4.改变变量
    answer = input('是否去上课?y/n')

在示例中while后面跟着的 answer ==‘y’ 只要返回值是True程序就进入循环,直到返回值为False,中间循环的次数可以是无限个(可以试试哦_-_),这也是被称作无限的原因,我们再用一个数字累加求和的示例加深一下了解,示例如下:

#使用while循环计算1-100间的累加和
sum =0
i =1    #初始化变量
while i<101:    #条件判断
    sum+=i  #语句块
    #改变变量
    i+=1
#print('1到100之间数字累加和为:',sum)     #输出5050
else:
    print('1到100之间数字累加和为:', sum)  # 输出5050,while执行结束后输出else语句

在这个循环中可以看到,循环执行了100次,直到i=101时程序才停止,在编写代码时我们一定要注意判断语句的选择,很容易就会因为循环次数判断失误使得程序结果出错。

结语

以上就是本篇全部内容啦,但这可并不是程序结构语句的全部内容哦,后面还有嵌套if以及嵌套循环,下一篇小编会结合实例再向大家展示。如果你有不清楚的地方可以在评论区留言或者私信我一起讨论,如果有错误的地方也请大胆?出。好啦,今天又是充实的一天,我们继续加油啦!!!

文章来源:https://blog.csdn.net/2202_75336900/article/details/135832317
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。