程序的组织结构分为:顺序结构、选择/分支结构、循环结构。
一、顺序结构
按程序语句的自然顺序,从上到下,依次执行每条语句的程序。
a=b=c=d=100 #链式赋值 a,b,c,d='hell' #分解赋值 print(a,b,c,d) # h e l l
二、选择结构
也称分支结构,是按照条件选择执行不同的代码段。
1)单分支结构if的语法结构:
if 表达式: 语句块
执行流程:如果表达式的值为True,就执行语句块,如果表达式的值为False,就跳过语句块,继续执行后面的代码。
num=eval(input("请输入一个数字:")) if num==10: print('bingo,答对了') print('游戏结束')
2)双分支结构if...else...语法结构:
if 表达式: 语句1 else: 语句2
执行流程:如果表达式的值为True,就执行语句1,否则就执行语句2。
num=eval(input("请输入一个数字:")) if num==10: print('bingo,答对了') else: print('可惜,答错了') print('game over')
3)多分支结构语法结构:
if 表达式1: 语句1 elif 表达式2: 语句2 elif 表达式n: 语句n else: 语句块n+1
执行流程:如果表达式1结果为True,则执行语句1;否则按顺序执行后面的条件判断,直到表达式结果为True,执行对应的语句,都表达式结果都不是True,则执行else对应的语句。
score=eval(input("请输入成绩:")) if score>90: print('优秀') elif score>80: print('很好') elif score>60: print('一般') elif score>30: print('不及格') else: print('很差')
单分支结构,双分支结构和多分支结构在实际开发中是可以互相嵌套使用的,内层的分支结构将作为外层分层分支结构的语句块使用。
在使用and连接多个条件判断时,只有同时满足多个条件,才能执行if后面的语句块。
使用or连接多个判断条件时,只要满足多个条件中的一个,就可以执行if后面的语句块。
a=eval(input('输入第一个整数:')) b=eval(input('输入第二个整数:')) if a==10 and b==20: print('两个都正确') else: print('至少有一个是错误的') if a==10 or b==20: print('有一个正确即可') else: print('都是错误的')
match语法
score=input("请输入成绩等级:") match score: case 'A': print('优秀') case 'B': print('良好') case 'C': print('中等') case 'D': print('及格') case 'E': print('不及格')
三、循环结构
循环结构分为两类:一类是遍历循环结构for,一类是无限循环结构while。
1)遍历循环for的语句结构:
for 循环变量 in 遍历对象: 语句块
for...else...结构
for 循环变量 in 遍历对象: 语句块1 else: 语句块2
for i in 'hello': print(i) else: #循环正常结束时,执行else后的语句 print('for 循环正常结束时执行') #range()内置函数,会产生(m,n)的参数序列,包含m,但不包含n for i in range(1,11): if i%2==0: print(i,end='\t') print() # 求1至10之间的和 s=0 for i in range(1,11): s=s+i print(s) print('*'*50) # 求100至999之间的水仙花数,某个数等于其个位,十位,百位的三次方之和 for i in range(100,1000): gw=i%10 sw=i//10%10 bw=i//100 if gw**3+sw**3+bw**3==i: print(i)
2)无限循环while的语句结构:
while 表达式: 语句块
while...else...结构
while 表达式: 语句块1 else: 语句块2
while循环的四个步骤:
1,初始化变量
2,条件判断
3,执行语句块
4,改变变量
i=0 s=0 while i<=100: s+=i i+=1 else: print('1到100之间的和',s)
循环结构也可以互相嵌套,在一个循环结构中嵌套另外一个完整的循环结构就称为嵌套循环。
''' **** **** **** ''' for i in range(1,4): for j in range(1,5): print('*',end='') print() print() ''' * ** *** **** ***** ''' for i in range(1,6): for j in range(1,i+1): print('*',end='') print() print() ''' ***** **** *** ** * ''' for i in range(1,6): for j in range(1,7-i): print('*',end='') print() print() ''' * *** ***** ******* ********* ''' for i in range(1,6): for j in range(1,6-i): print(' ',end='') for x in range(1,2*i): print('*',end='') print() print() ''' * *** ***** ******* ***** *** * ''' for i in range(1,5): for j in range(1,5-i): print(' ',end='') for x in range(1,2*i): print('*',end='') print() for m in range(1,4): for n in range(1,m+1): print(' ',end='') for y in range(1,6-(m-1)*2): print('*',end='') print() print() ''' * * * * * * * * * * * * ''' for i in range(1,5): for j in range(1,5-i): print(' ',end='') for x in range(1,2*i): if x==1 or x==2*i-1: print('*',end='') else: print(' ',end='') print() for m in range(1,4): for n in range(1,m+1): print(' ',end='') for y in range(1,6-(m-1)*2): if y==1 or y==5-(m-1)*2: print('*',end='') else: print(' ',end='') print()
程序跳转语句break用于跳出循环结构,通常与if一起搭配使用。
语法结构:
while 表达式1: 执行代码 if 表达式2: break
for i in range(1,6): if i>3: break print(i) for i in 'helle': if i=='e': break print(i)
continue的作用是用于跳过本次循环的后续代码,而继续执行下一次循环操作。continue在循环中通常也是与if一起搭配使用。
语法结构:
while 表达式1: if 表达式2: continue 执行代码
for i in range(1,11): if i%2==1: continue print(i) s=0 for i in range(1,11): if i%2==1: continue s+=i print('10以内的偶数之和:',s)
posted on
浙公网安备 33010602011771号