程序是由一条条代码组成的,每一条代码都有特定的作用,这里的每一条代码都是一个语句。这些语句会按照顺序、选择、循环的方式进行有机组合,构成一个逻辑整体,或者说完成某项功能的所有代码,就是一个程序。
下面这张图,解决的任务是:“计算1,2,3,……99,100中所有奇数、偶数的和,并分别打印出来。”:
上图,基本表明了程序的运行逻辑,下面我们来看看具体的语句解释。
P1、顺序语句
顺序语句说的是所有的语句都按照平级语句处理,逐条执行。当然选择、循环也可以认为是一个包含子语句的顺序语句之一。它的执行逻辑如下:
上图可以看到,每条语句都是顺序执行的,数据一进一出。
P2、选择语句
选择语句会在条件满足或不满足的情况下执行,如下:
上述选择语句是一个真值执行,否则跳转的语句。在Python中,可以使用if...else...实现,如下:
# 选择语句演示 if 100 % 2 == 0: print('Even')else: print('Odd')print('Bye.')
当然,有时会需要匹配某个字符,实现一对多的条件处理。这个时候可以通过嵌套if语句(if...elif...else...)实现,如下:num = 90if num> 80 : print('良好')elif num > 60 : print('合格')else: print('不合格')
而在python3.10之后,加入了match...case...语句解决了一对多的问题,结构如下:num = 2match num: case 0 : print(0) case 1 : print(1) case 2 : print(2) case _ : print('default')# 输出2
有的时候,可能需要多中组合条件,可以利用元组,如下:x = 1y = 2match (x,y): case (0,0):print(x+y) case (1,2):print(x*y) case _ : print(x,y)# 输出2
当然,在学习完函数后,我们可以将其封装,更好的解决多匹配问题。P 3、循环语句
循环语句主要完成需要频繁执行某条代码或者某个语句块的任务,具体结构如下:
这个是典型的循环模型图,在python中,可以通过for语句或者while语句实现。
for语句示例代码:
total_odd = 0total_even = 0total = 0for i in range(1,101,1): if i % 2 == 0 : total_even = total_even + i else: total_odd = total_odd + i total = total + iprint(f'{total_odd=},{total_even=},{total=}')# 输出:total_odd=2500,total_even=2550,total=5050
while语句示例代码:
total_odd = 0total_even = 0total = 0i = 1while i<=100: if i % 2 == 0 : total_even = total_even + i else: total_odd = total_odd + i total = total + i i += 1 # 自增赋值操作,效果等同 i = i+1print(f'{total_odd=},{total_even=},{total=}')# 输出:total_odd=2500,total_even=2550,total=5050
开发中,使用for或while循环是由程序员自己决定的。但这里要注意,while需要自己定义循环跳出的计数器,无论什么原因,漏掉计数器的操作会造成死循环。
有时候,我们希望不要一直循环下去,此时可以用break关键字跳出整个循环。如下:
# 输出1-5中,不大于3的数 for i in range(1,6): if i > 3: break # 用于跳出循环 print(i)# 输出 # 1# 2# 3
有些时候,我们希望能跳过某些当次循环,而不跳出循环,可以用continue关键字跳过本次循环的后续代码。如下:
# 输出1-5中的偶数 for i in range(1,6): if i % 2 != 0: continue print(i)# 输出: # 2# 4
有些时候,我们想临时写一个空循环,需要用到pass关键字进行占位。pass关键字表示不做任何操作,仅是占位功能,不让代码在此处报错。如下:
有些时候,我们希望无论循环如何,都要做一个必须操作,可以配合else实现。如下:for i in range(3): print(i)else: print('循环结束')# 输出:# 0# 1# 2# 循环结束
-------------------------它是数字世界里的一把杀猪刀
却总能巧夺天工
它的世界是纯粹0、1组合
却总能创造无尽幻想
......
本公众号关注数据价值分析、编程学习,将不定期更新社会热点数据分析结果、编程技巧,分享数据分析工具、方法、学习等内容,欢迎有兴趣的小伙伴加入。