本章内容
- 程序的描述方式有三种:自然语言、流程图和伪代码(代码)
- 程序的组织结构有三种:顺序结构、选择结构(分支结构)、循环结构
- 选择结构分单分支结构(if)、双分支结构(if....else....)和多分支结构(if...elif....else....)
- Python3.11新特征模式匹配match...Case..结构
- 循环结构有两种:遍历循环for和无限循环while
- if结构可以互相嵌套,循环结构也可以互相嵌套,建议最多不超过三层
- break和continue只能用在循环结构中,break用于退出整个循环结构,continue用于结束本次循环而进入下一次循环。
- 空语句pass起到占位符的作用,使用语法结构完整、不报错。
本章示例
示例4-1顺序结构的语句
name='张三'
age=20
a=b=c=d=100
a,b,c,d='room'
print(a)
print(b)
print(c)
print(d)
print('---------输入/输出语句也是典型的顺序结构-------')
name=input('请输入您的姓名:')
age=eval(input('请输入您的年龄:'))
luck_number=eval(input('请输入您的幸运数字:'))
print('姓名:',name)
print('年龄:',age)
print('幸运数字:',luck_number)
示例4-2单分支结构if
number=eval(input('请输入您的6位中奖号码:'))
if number==987654:
print('恭喜您,中奖了!')
if number!=987654:
print('您未中本期大奖')
print('------以上if判断的表达式,是通过比较运算符计算出来的,结果是布尔值类型')
n=98
if n%2:
print(n,'是奇数')
if not n%2:
print(n,'是偶数')
print('------判断一个字符串是否是空字符串------')
x=input('请输入一个字符串:')
if x:
print('x是一个非空字符串')
if not x:
print('x是一个空字符串')
print('------表达式也杺是一个单纯的布尔型变量------')
flag=eval(input('请输入一个布尔型的值:True或False'))
if flag:
print('flag的值为True')
if not flag:
print('flag的值为False')
示例4-3双分支结构if-else
number=eval(input('请输入您的6位中奖号码:'))
if number==987654:
print('恭喜您中奖了!')
else:
print('您未中本期大奖!')
print('------以上代码可以使用条件表达式进行简化------')
result='恭喜您中奖了!' if number==987654 else '您未中本期大奖!'
print(result)
print('恭喜您中奖了!' if number==987654 else '您未中本期大奖!')
示例4-4多分支结构的使用
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-5嵌套if的使用
answer=input('请问,您喝酒了吗?')
if answer=='y':
proof=eval(input('请输入酒精含量:'))
if proof<20:
print('构不成酒驾,祝您一kkht平安')
elif proof<80:
print('已构成酒驾,请不要开车')
else:
print('已达到了醉驾标准,请千万不要开车')
else:
print('你走吧,没你啥事儿!')
示例4-6使用and连接多个选择条件
user_name=input('请输入您的用户名:')
pwd=input('请输入您的密码:')
if user_name=='ysj' and pwd=='888888':
print('登录成功')
else:
print('用户名或密码不正确')
示例4-7使用or连接多个选择条件
score=eval(input('请输入您的成绩:'))
if score<0 or score>100:
print('成绩无效')
else:
print('您的成绩为:',score)
示例4-8Python3.11新特性-模式匹配
score=input('请输入成绩等级:')
match score:
case 'A':
print('优秀')
case 'B':
print('良好')
case 'C':
print('及格')
case 'D':
print('不及格')
示例4-9遍历for循环的使用
#遍历字符串
for i in 'hello':
print(i)
#range()函数,Python中的内置函数,产生一个[n,m)的整数序列,包含n,但是不包含m
for i in range(1,11):
if i%2==0:
print(i,'是偶数')
#计算1-10之间的累加和
s=0
for i in range(1,11):
s+=i
print('1-10之间的累加和为:',s)
print('------100到999之间的水仙花数------')
'''
153=3*3*3+5*5*5+1*1*1
'''
for i in range(100,1000):
sd=i%10
tens=i//10%10
hunderd=i//100
if sd**3+tens**3+hunderd**3==i:
print(i)
示例4-10遍历循环的扩展形式
s=0
for i in range(1,11):
s+=i
else:
print('1-10之间的累加和为:',s)
示例4-11无限循环while的使用
#(1)初始化变量
answer=input('今天要上课吗?y/n')
while answer=='y': #(2)条件判断
print('好好学习,天天向上') #(3)语句块
answer=input('今天要上课吗?y/n')
#1-100之间的累加和
s=0
i=1
while i<=100:
s+=i
i+=1
print('1-100之间的累加和:',s)
示例4-12无限循环while的扩展形式
s=0
i=1
while i<=100:
s+=i
i+=1
else:
print('1-100之间的累加和:',s)
示例4-13使用无限循环模拟用户登录
i=0
while i<3:
user_name=input('请输入用户名:')
pwd=input('请输入密码:')
if user_name=='ysj' and pwd=='888888':
print('系统正在登录,请稍后')
i=8
else:
if i<2:
print('用户名或密码不正常,您还有',2-i,'次机会')
i+=1
if i==3:
print('对不起,3次均输入错误')
示例4-14长方形和直角三角形的输出
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()
示例4-15倒三角形和等腰三角形
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 k in range(1,2*i):
print('*',end='')
print()
示例4-16菱形
row=eval(input('请输入菱形的行数:'))
while row%2==0:
print('重新输入菱形的行数:')
row=eval(input('请输入菱形的行数:'))
top_row=(row+1)//2
for i in range(1,top_row+1):
for j in range(1,top_row-i+1):
print(' ',end='')
for k in range(1,2*i):
print('*',end='')
print()
'''
&&&*
&&***
&*****
*******
&*****
&&***
&&&*
'''
bottom_row=row//2
for i in range(1,bottom_row+1):
for j in range(1,i+1):
print(' ',end='')
for k in range(1,2*bottom_row-2*i+2):
print('*',end='')
print()
示例4-17空心菱形
row=eval(input('请输入菱形的行数:'))
while row%2==0:
print('重新输入菱形的行数:')
row=eval(input('请输入菱形的行数:'))
top_row=(row+1)//2
for i in range(1,top_row+1):
for j in range(1,top_row-i+1):
print(' ',end='')
for k in range(1,2*i):
if k==1 or k==i*2-1:
print('*',end='')
else:
print(' ',end='')
print()
bottom_row=row//2
for i in range(1,bottom_row+1):
for j in range(1,i+1):
print(' ',end='')
for k in range(1,2*bottom_row-2*i+2):
if k==1 or k==2*bottom_row-2*i+2-1:
print('*',end='')
else:
print(' ',end='')
print()
示例4-18跳转语句break在while循环中的使用
s=0
i=1
while i<11:
s+=i
if s>20:
print('累加和大于20的当前数是:',i)
break
i+=1
print('-----------------------------------')
i=0
while i<3:
user_name=input('请输入用户名:')
pwd=input('请输入密码:')
if user_name=='ysj' and pwd=='888888':
print('系统正在登录,请稍后...')
break
else:
if i<2:
print('用户名或密码不正确,您还有',2-i,'次机会')
i+=1
else:
print('三次均输入错误!')
示例4-19break在for循环中的使用
for i in 'hello':
if i=='e':
break
print(i)
print('----------------------------')
for i in range(3):
user_name = input('请输入用户名:')
pwd = input('请输入密码:')
if user_name == 'ysj' and pwd == '888888':
print('系统正在登录,请稍后...')
break
else:
if i < 2:
print('用户名或密码不正确,您还有', 2-i, '次机会')
else:
print('三次均输入错误!')
示例4-20跳转语句continue在while中的使用
s=0
i=1
while i <=100:
if i%2==1:
i+=1
continue
s+=i
i+=1
print('1-100之间的偶数和:',s)
示例4-21continue在for循环中的使用
s=0
for i in range(1,101):
if i%2==1:
continue
s+=i
print('1-1001之间的偶数和:',s)
示例4-22空语句
if True:
pass
while True:
pass
for i in range(10):
pass
注:文中内容及示例均出自@Python_子木的视频。
本文详细介绍了Python编程中的基本结构,包括顺序、选择(单分支、双分支、多分支)、循环(遍历循环、无限循环)以及Python3.11新增的模式匹配。通过实例演示如何使用if、else、while、for等语句以及break、continue和pass的作用。

被折叠的 条评论
为什么被折叠?



