Day04新手小白学python
第四节 Python的顺序流程、选择流程、循环流程
目录
前言
本文介绍了python的顺序流程、选择流程以及循环流程
一、顺序流程
python的默认流程,一种自上而下的执行结构。
二、选择流程
1、单分支
if 条件表达式:
代码
score=60
if 70<=score:
print("成绩合格")
pass # 空语句,表示退出
2、双分支
if 条件表达式:
代码
else:
代码
score=80
if 70<=score:
print("成绩合格")
pass # 空语句,表示退出
else:
print("成绩不合格")
pass
print("语句完成")
注意: if 条件表达式后面有冒号:else后面同样有:
3、多分支
if 条件表达式:
代码
elif 条件表达式:
代码
elif 条件表达式:
代码
...........
else:
代码
# 只要满足其中一个分支,就会退出本层if语句结构【必定会执行其中一个分支】
score=int(input("请输入您的成绩:"))
if score<60:
print("成绩不合格")
pass # 空语句,表示退出
elif 60<=score<80: # elif后面必须写上条件和语句
print("成绩良好")
pass
elif 80<=score<90: # elif后面必须写上条件和语句
print("成绩较好")
pass
else: # 根据实际情况写
print("成绩很好")
pass
print("语句完成")
只要满足其中一个分支,就会退出本层if语句结构【必定会执行其中一个分支】
# 多分支练习 石头0剪刀1布2
import random # 导入随机数模块
person=int(input("请出拳:[石头0剪刀1布2]"))
computer=random.randint(0,2)
if person==0 and computer==1:
print("你赢了")
pass
elif person==1 and computer==2:
print("你赢了")
pass
elif person==2 and computer==0:
print("你赢了")
pass
elif person==computer:
print("平手")
pass
else:
print("你输入")
pass
4、if-else嵌套使用
# if else嵌套使用
xuefen=int(input("请输入学分"))
if xuefen>10:
grade = int(input("请输入成绩"))
if grade>80:
print("升学")
pass
else:
print("不升学")
pass
else:
print("不升学")
pass
三、循环流程
满足条件的情况下,重复执行某段代码。
1、while
while 条件表达式:
代码
while循环使用需要有初始值、有条件表达式、有变量的自增自减,否则会死循环
使用条件:循环的次数不确定,依靠循环条件来结束
循环的目的:为了将相似或相同的代码操作更加简洁,代码重复利用
# 输出1-100之间的数据
index=1
while index<=100:
print(index)
index+=1
pass
打印九九乘法表
# 打印九九乘法表
row=9
while row>=1:
col = 1
while col<=row:
print("%d*%d=%d"%(row,col,row*col),end=" ") # end作用:print会自动换行,防止自动换行
col+=1
pass
print() # print打印空,换行
row-=1
pass
打印直角三角形
# 打印直角三角形
row=7
while row>=1:
j=1
while j<=row:
print('*',end=' ')
j+=1
pass
print()
row-=1
打印等腰三角形
# 打印等腰三角形
row=1
while row<=5:
j=1
while j<=5-row: # 控制打印空格的数量
print(' ',end='')
j+=1
pass
k=1
while k<=2*row-1: # 控制打印的*号
print('*', end='')
k+=1
pass
print()
row+=1
while----else的用法:只要执行了break,就会退出循环,且else的代码将不再执行,未执行break时,会执行else的代码
index=1
while index<=10:
print(index)
if index==6:
break
index+=1
pass
else:
print("else执行了吗")
2、for
for 临时变量 in 容器:
代码
语法特点:遍历操作,依次的取集合容器中的每个值
# for循环
tags='我是一个中国人'
for item in tags:
print(item)
pass
# range 此函数可以生成一个数据集合列表
# range(起始:结束:步长),左包含,右不好含[ )
range(1,100) # 默认步长为1
s=0
for data in range(1,100):
s+=data # 1-99的和
#print(data,end=" ")
pass
print(s)
#99乘法表用for实现
for i in range(1,10):
for j in range(1,i+1):
print("%d*%d=%d" %(i,j,i*j),end=" ")
pass
print()
pass
for----else用法:只要执行了break,就会退出循环,且else的代码将不再执行,未执行break时,会执行else的代码
#有三次输入账号密码的机会,输入正确显示登陆成功,超过三次不正确则账号被锁定
#只要执行了break,就会退出循环,且else的代码将不再执行
account="wyw"
pwd="123"
for i in range(3):
zh=input("请输入账号")
pd=input("请输入密码")
if account==zh and pwd==pd:
print("登陆成功")
break
pass
pass
else:
print("账号被锁定")
3、break和continue的用法
(1)break 退出循环,表示中断结束,满足条件直接结束本层循环
for item in 'i love python':
if item=='e':
break
pass
print(item)
pass
(2)continue 结束本次循环,继续进行下一次循环(当continue的条件满足时,本次循环剩下的语句不再执行,继续执行新的下一次循环)
for item in range(1,100):
if item%2==0:
continue
pass
print(item)
pass
这两个关键字只能用在循环中
四、练习
1、猜年龄小游戏:允许用户最多尝试3次,尝试3次后,如果还没猜对,询问用户是否想继续,回答Y或y则继续猜3次,以此往复,回答N或n就退出程序;如果猜对了就直接退出
time=0
import random
a = random.randint(1, 80)
while time<3:
b = int(input("请输入年龄:"))
if a==b:
print("猜对啦")
break
pass
elif a>b:
print("猜小了")
pass
else:
print("猜大了")
pass
time+=1
if time==3:
choose=input("是否继续 Y/N")
if choose=="Y" or choose=="y":
time=0
pass
elif choose=="N" or choose=="n":
break
pass
else:
print("请按规定输入")
pass
pass
pass
2、题目 有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
# 题目 有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
count=0
for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
if i!=j and j!=k and i!=k:
temp=i*100+j*10+k
print(temp)
count+=1
print(count)
总结
本文介绍了python的顺序流程、选择流程以及循环流程,以及通过练习进行巩固