程序的组织结构分为:顺序结构、选择/分支结构、循环结构。

一、顺序结构

按程序语句的自然顺序,从上到下,依次执行每条语句的程序。

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 2023-12-10 15:54  会飞的金鱼  阅读(462)  评论(0)    收藏  举报