day-7流程控

day-7流程控制

一,程序三大执行流程

python中有三大结构:
    顺序结构:程序由上往下执行 遇到报错就终止程序
    分支结构:根据条件的成立与否 执行对应语句
    循环结构:如果条件满足就一直执行 不满足就结束循环结束运行

日常生活中每天都在做判断

如果今天不上课 那就打游戏

如果今天女朋友生气了 那我就不能打游戏了

if 语句的功能为'逻辑判断' 根据判断结果运行对应的代码
	if:如果
    elif:或者
    else:否则

1.1单分支结构(if)

if 判断条件:
    (tab缩进) 执行语句 #该代码的执行 就是当if后面的判断条件成立(True)就执行 否则不执行
    
    
# 如果你是男的就去男厕所
# 如果我饿了就去吃夜宵
food = input('你现在饿不饿')
if food == '饿': #判断成立就执行 不成立就不执行
    print('那就去吃夜宵')

2.2双分支结构(if…else)

else 可以有一个 也可以不存在

if 判断条件:
    执行语句 
else:
    执行语句 #如果满足if条件 就执行if里的代码 否则执行else里的代码
    
food = input('你现在饿不饿')
if food == '饿': #判断成立就执行 不成立就不执行
    print('那就去吃夜宵')
else:
    print('那就不吃吧')

3.3多分支结构(if…elif…else)

elif可以存在多个也可以只有一个 或者不存在

if 判断条件:
    执行语句 
elif 判断条件:
    执行语句
else:
    执行语句 
    
#如果满足if判断条件 就执行if里的代码 如果不满足 接着下来判断是否满足elif的代码 如果满足就执行elif的执行语句 如果都不满足就执行else里的
# 湘菜馆开业大酬宾
# 吃饭抽奖活动
# 抽数字 0-20

# 因为if只要满足了就不会往下执行 所以数字要从大到小
# num = int(input('请输入你的数字'))
# if num > 8:
#     print('恭喜小菜一盘')
# elif num > 5:
#     print('恭喜冷菜一盘')
# elif num > 2:
#     print('恭喜热菜一盘')
# else:
#     print('免单')

num = int(input('请输入你的期末成绩'))
if num == 100:
    print('送你一套五年高考三年模拟')
elif num >= 80:
    print('请你看电影')
elif num >= 60:
    print('奖励男女混合双打')
else:
    print('奖励你一个大嘴巴子')
    
# num1 = int(input('请问1号有多少钱'))
# num2 = int(input('请问2号有多少钱'))
# if num1 >= 20 and num2 >= 30:
#     print('疯狂星期四走起')
# else:
#     print('吃土姐妹花')

# and 两者都要满足才为真
# or 一边为真就为真
# 优先级 not > and > or

if有个特性 判断的条件有值就执行否则就不执行

有值为真 没有值为假([],(),{},None)

ll = []
if ll:
    print(66)

if [1,2]:
    print(66)

二,缩进(tab键)

Python中的使用缩进对代码的结果进行控制
tab(四个空格)
注意不要空格跟缩进一起使用 会报错 也不方便
因为缩进 所以你们都是在我得管辖范围内
婷婷
	陈亮冰
    陈同旺
    谢斌
    
小明
	桑杰伦
    古十
    李明天
    
lis = 21
if lis < 20:
    print(666) #因为不满足条件所以不会输出
print('我是if外面的代码你管不到我') #没有在if管辖范围内所以是直接输出
手机版就打四个空格
电脑直接用tab/reformat code排版修正

三,循环结构

生活中的例子 一日三餐 三点一线 地球自传 周一到周天

3.1 while循环

循环本质:可以避免代码的重复性,提高运行效率
定义while循环的时候 要更新循环条件 否则会陷入死循环
李明天需要抄书一百遍 相当于这个操作循环1001.100print
2.在字符串的后面加*100
3.用循环
死循环: 永不停歇的循环操作
语法格式:
    while 循环条件:
        执行语句 #当满足循环条件的时候执行 否则不执行
        循环条件更新
# num = 1 # num 一直都是1 进入死循环不会等于100 一直都是满足条件的 没有增加
# while num <= 100:
#     print('喊婷婷美女一百次')

# num = 1  # num 一直都是1 进入死循环不会等于100 一直都是满足条件的 没有增加
# while num <= 100:
#     print(f'喊婷婷美女{num}次')
#     num += 1  # num=num+1

while True: # 最简单的死循环
    print(6)

3.2 for循环

for循环相当于一个while升级版本
在1.循环次数已知 2.遍历数据的时候,都比while循环更高效
遍历/迭代:在一堆的数据里 把这些数据一个接一个取出来
    
语法格式1:
    for 变量名 in 可迭代对象(字符串,列表,元组,字典,集合):
		执行语句
    #变量名一般命名是为i 也可以叫做其他 这里变量不需要提前声明 作为一个临时存储变量的地方
    #可迭代对象:可以暂时理解为存储多个数据的类型
    
语法格式2:
    for 变量名 in range(数值):
        执行语句
    range(起始值,终点值) #起点默认为0 终点前进一位
# a=[1,2,4,5,6,7,8]
# for i in a:
#     print(i)

a = ['谭凯', '徐凤年', '齐福洋', '刘木生', '杨奇鑫']
# for i in a:
#     print(i)
# for b in a:
#     print(b)

# for i in range(10): #起点默认0开始 终点到前一位
#     print(i)

# for i in range(1,11): #只能整数
#     print(i)

# for i in range(1, 11, 3): #可以根据步长调整
#     print(i)

四,嵌套

4.1分支结构嵌套

'''
你现在是个宫女 有个飞上枝头变凤凰机会 你现在要在御花园邂逅皇上
问皇上身边的太监'皇上会不会来'
如果来 我是选择跳舞/唱歌 吸引皇上
如果跳舞我就走上人生巅峰
如果唱歌就要老命了
如果不来 白日梦白做

1.皇上来不来
2.来 我是唱歌/跳舞
3.不来 白日梦
'''

boy = input('小李子 皇上会不会来')
if boy == '会':
    talk = input('我唱歌还是跳舞')
    if talk == '跳舞':
        print('皇上喜欢')
    elif talk == '唱歌':
        print('要老命了')
elif boy == '不会':
    print('白日梦')

4.2循环嵌套

2 2 2 2 2

2 2 2 2 2

2 2 2 2 2

2 2 2 2 2

2 2 2 2 2

# 1.用一个循环实现
# for i in range(5):
#     print('22222')

# 2.用两个循环来实现 要用一个循环控制行 一个控制列
for i in range(5): # 5 代表5行
    for j in range(4): #4 代表4列
        print('*', end='')
    print() #print就算什么都不做 也会进行\n换行

'''
内循环输出4个星星 连在一起 内循环结束之后 外循环加个换行
****\n
****\n
****\n
****\n
'''

break和continue

用在流程控制里
break -- 结束
continue -- 跳过
# 罚你跑圈 100圈
# 1.李明天同学跑了10圈就不行了 选择不跑了 -- break结束循环
for i in range(1,101):
    print(f'跑了{i}圈')
    if i == 10: # 在我跑第十圈的时候就会结束执行
        print('跑不动不跑了')
        break
# 2.跑步跑不动 就抄书 但是比较精 有些页面不抄 -- continue 跳过
for i in range(1,101):
    if i == 10 or i == 20 or i == 50:
        continue
    print(f'这是我抄书的第{i}页面')
pass语句
pass是用作于分支结构语法中 相当于一个占位行为
当流程控制里面 语法没有想好的话 可以使用pass占位 防止一些不必要的报错
a = 1
if a == 1:
    print(6)
else:
    pass

练习

1. 猜拳游戏(1.剪刀 2.石头 3.布)

 定义一个com变量,将其表示为电脑出拳头 con='拳头'
 定义一个player变量接收键盘输入,将其表示为玩家出拳选择(石头/剪刀/)
 使用分支结构进行判断输赢
    
2.list01 = [5, 1, 4, 6, 7, 4, 6, 8, 5]
将列表的数据累乘

3.登录操作
 用户名:mane:ttfzl;密码:pw:888888
 给用户3次机会,判断登录的用户名与密码是否与定义的一样,超过3次就登录失败 

4. 定义两个变量boy,girl接收他们的年龄
判断两人年龄是否完全符合结婚年龄,若又一方不符合将返回不符合的结果

5.请求出 1 x 2 x 3 x 4 x .... 10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值