Python的顺序流程、选择流程、循环流程

Day04新手小白学python


第四节  Python的顺序流程、选择流程、循环流程


目录

Day04新手小白学python

前言

一、顺序流程

二、选择流程

1、单分支

2、双分支

3、多分支

4、if-else嵌套使用

三、循环流程

1、while

2、for

3、break和continue的用法

四、练习

总结


前言

本文介绍了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的顺序流程、选择流程以及循环流程,以及通过练习进行巩固

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值