一、顺序结构
按程序语句的自然顺序,从上到下,依次执行每条语句的程序
二、选择结构
1、单分支结构
(1)语法结构:
# 判断是否中奖
number=eval(input('请输入您的6位中奖号码:'))
if number==987654: #等值判断
print('恭喜您,中奖了!')
if number!=987654:
print('您未中本期大奖')
#判断一个字符串是否为空
x=input('请输入一个字符串:')
if x: # 在Python中一切皆对象,每个对象都有一个布尔值,而非空字符串的布尔值为True ,空字符串的布尔值为False
print('x是一个非空字符串')
if not x: # 空字符串的布尔值为False ,取反, not False的结果为True
print('x是一个空字符串')
(2)执行流程:
如果表达式的值为True,就执行语句块;如果表达式的值为False,就跳过语句块,继续执行后面的代码
2、双分支结构
(1)语法结构:
number=eval(input('请输入您的6位中奖号码:'))
if number==987654:
print('恭喜您中奖了!')
else:
print('您未中本期大奖!')
(2)执行流程:
如果表达式的值为True,就执行语句1,否则就执行语句2
3、多分支结构
(1)语法结构:
score=eval(input('请输入您的成绩:'))
if score<0 or score>100:
print('成绩有误!')
elif 0<=score<60:
print('E')
elif 60<=score<70:
print('D')
elif 70<=score<80:
print('C')
elif 80<=score<90:
print('B')
else:
print('A')
4、其他结构:
(1)嵌套:
answer=input('请问,您喝酒了吗?')
if answer=='y': # answer的值为y表示喝酒了
proof=eval(input('请输入酒精含量:'))
if proof<20:
print('构不成酒驾,祝您一路平安')
elif proof<80: # 20<=proof<80
print('已构成酒驾,请不要开车')
else:
print('已达到了醉驾标准,请千万不要开车')
else:
print('你走吧,没你啥事儿!')
(2)and 连接:
user_name=input('请输入您的用户名:')
pwd=input('请输入您的密码:')
if user_name=='ysj' and pwd=='888888':
print('登录成功')
else:
print('用户名或密码不正确')
(3)or 连接:
score=eval(input('请输入您的成绩:'))
if score<0 or score>100:
print('成绩无效')
else:
print('您的成绩为:',score)
(4)模式匹配(新特性):
score=input('请输入成绩等级:')
match score:
case 'A':
print('优秀')
case 'B':
print('良好')
case 'C':
print('中等')
case 'D':
print('及格')
case 'E':
print('不及格')
三、循环结构
1、for 循环
(1)遍历循环:
s=0 # 用于存储累加和
for i in range(1,11):
s+=i # 相当于 s=s+i
(2)for...else :
s=0 # 用于存储累加和
for i in range(1,11):
s+=i
else:
print('1-10之间的累加和为:',s)
当循环执行完毕(即遍历完 1—10 中的所有元素)后,会执行 else 子句中的代码,如果在循环过程中遇到了 break 语句,则会中断循环,此时不会执行 else 子句。
2、while 循环
(1)无限循环:
# (1)初始化变量
answer=input('今天要上课吗?y/n')
while answer=='y': # (2)条件判断
print('好好学习,天天向上') # (3)语句块
#(4)改变变量
answer=input('今天要上课吗?y/n')
(2)while...else :
# 1-100之间的累加和
s=0 # 存储累加和
i=1 # (1)初始化变量
while i<=100: #(2)条件判断
s+=i # (3)语句块
# (4)改变变量
i+=1 # 相当于i=i+1
else:
print('1-100之间的累加和:',s)
四、跳转语句
1、break 语句
(1)在 while 循环中:
i=0 # 统计登录的次数 (1)初始化变量
while i<3: #(2)条件判断
# (3)语句块
user_name=input('请输入用户名:')
pwd=input('请输入密码:')
if user_name=='ysj' and pwd=='888888':
print('系统正在登录,请稍后...')
break
else:
if i<2:
print('用户名或密码不正确,您还有',2-i,'次机会')
# (4)改变变量
i+=1
else: # while...else
print('三次均输入错误!')
(2)在 for 循环中:
for i in range(3):
# (3)语句块
user_name = input('请输入用户名:')
pwd = input('请输入密码:')
if user_name == 'ysj' and pwd == '888888':
print('系统正在登录,请稍后...')
break
else:
if i < 2:
print('用户名或密码不正确,您还有', 2 - i, '次机会')
else: # for...else
print('三次均输入错误!')
2、continue 语句
(1)在 while 循环中:
s=0
i=1 #(1)初始化变量
while i <=100: #(2)条件判断
# (3)语句块
if i%2==1: # 奇数
i+=1
continue # 不再执行后面的代码了
# 累加求和的代码
s+=i
i+=1
print('1-100之间的偶数和:',s)
(2)在 for 循环中:
s=0
for i in range(1,101):
if i%2==1:
continue
# 累加求和的代码
s+=i
print('1-100之间的偶数和是:',s)
3、pass 语句
(1)作用:
在语法结构中只起到占位符作用,使语法结构完整,不报错
(2)场景:
一般用在 if、for、while、函数的定义、类的定义中
微语:始于千与千寻,终于你想活出怎样的人生。
(最近看了宫崎骏的《你想活出怎样的人生》,其实有点云里雾里的,但有时候吧,也没必要活得那么明白啦)