Python学习Day2

一、流程控制结构简介

  • 流程:就是计算机执行代码的顺序

  • 流程控制:对计算机代码执行的顺序进行有效管理,只有流程控制才能实现在开发中的业务逻辑

  • 流程控制的分类:

  1. 顺序流程:就是代码一中自上而下的执行结构

  1. 选择流程/分支流程:根据在某一步的判断,有选择的执行相应的逻辑;

条件表达式可以是比较运算符/逻辑运算符/复合的运算符

#单分支
if 条件表达式:
    一条条的Python代码
    一条条的Python代码
    .........
#双分支
if 条件表达式:
    一条条的Python代码
    一条条的Python代码
    .........
else:
    一条条的Python代码
    一条条的Python代码
    .........
#多分支
if 条件表达式:
    一条条的Python代码
    一条条的Python代码
    .........
elif:
    一条条的Python代码
    一条条的Python代码
    .........
elif:
    一条条的Python代码
    一条条的Python代码
    .........
.......
else:
    一条条的Python代码
    一条条的Python代码
    .........
    
  1. 循环流程:在一定的条件下,一直重复地去执行某段代码逻辑

while 条件表达式:
    一条条的Python代码
    一条条的Python代码
    .........
for ... in 可迭代的集合对象: 
    一条条的Python代码
    一条条的Python代码
    .........   

二、选择流程

#单分支
score=int(input("请输入分数"))
if score<=60:
    print("成绩不是太理想,继续加油")
    pass #空语句,代表结束
print("语句结束")

#双分支
score=int(input("请输入分数"))
if score>=60:
    print("成绩及格")
    pass
else:
    print("成绩不是太理想,继续加油")
    pass #空语句,代表结束
print("语句结束")
#双分支

score=int(input("请输入分数"))
if score>=90:
    print("你的成绩是A")
    pass
elif score>=80:
    print("你的成绩是A")
    pass #空语句,代表结束
elif score>=70:
    print("你的成绩是C")
    pass
else:
    print("继续加油")
    pass
print("语句结束")
  • 多分支练习:

猜拳击的小游戏:0:石头 1剪刀 2:布

import random#直接导入产生随机数的模块
#计算机 人
person=int(input("请出拳【0:石头 1剪刀 2:布】"))
computer=random.randint(0,2)
if person==0 and computer==1:
    print("You win!")
    pass
elif person==1 and computer==2:
    print("You win!")
    pass
elif person==2 and computer==0:
    print("You win!")
    pass
elif person==computer:
    print("平手")
    pass
else:
    print("Losed")
    pass
  • if-else 的嵌套使用

一个场景需要分阶段或者层次,做出不同的处理

要执行内部条件,外部一定要先满足

xuefen=int(input("请输入你的学分"))
if xuefen>10:
    grade = int(input("请输入你的成绩"))
    if grade>=80:
        print("你可以升班...")
    else:
        print("很遗憾,成绩不达标")
        pass
    pass
else:
    print("表现太差")
    pass

三、循环流程

  • while 语法结构

语法特点

  1. 有初始值

  1. 条件表达式

  1. 变量【计数变量】的自增或者自减,否则会造成死循环

  1. 使用条件:循环次数不确定,是依靠循环条件来结束

  1. 目的:为了将相似或者相同的代码操作变得更加简洁,是的代码可以重复利用

案例:输出1-100的偶数

index=1
while index<=100:
    if index%2==0:
        print(index)
        pass
    index+=1

案例:猜拳游戏

import random#直接导入产生随机数的模块
index=1
while index<=10:
    index+=1
    #计算机 人
    person=int(input("请出拳【0:石头 1剪刀 2:布】"))
    computer=random.randint(0,2)
    if person==0 and computer==1:
        print("You win!")
        pass
    elif person==1 and computer==2:
        print("You win!")
        pass
    elif person==2 and computer==0:
        print("You win!")
        pass
    elif person==computer:
        print("平手")
        pass
    else:
        print("Losed")
        pass

案例:打印99乘法表

row=1#行
while row<=9:
    col=1 #列
    while col<=row:
        print("%d*%d=%d"%(row,col,row*col),end=" ")#不换号,加空格
        col+=1
        pass
    print()
    row+=1
    pass

案例:打印直角三角形

row=1
while row<=7:
    j=1
    while j<=row:
        print('*',end=" ")
        j+=1
    print()
    row+=1
  • for循环

语法特点:遍历操作,依次取集合容器中的每个值

for 临时变量 in 容器

执行代码块

案例:遍历字符串

tags="湖南工商大学"
for item in tags:
    print(item)
    pass

案例:range 此函数可以生成一个数据集合列表,range=(起始:结束:步长)步长不能是0,前闭后开

for item in range(1,20,1):
    print(item,end=" ")
#实际输出为1-19,前闭后开
  • break退出循环即结束循环,代表中断

sum=0
for item in range(1,51):
    sum+=item
    if sum>100:
        break
        pass
    pass
print("sum=%d"%sum)
  • continue 跳出本次循环。这两个关键字只能用在循环中

sum=0
for item in range(1,51):
    if item%2!=0:
        continue
        print("不执行")
        pass
    sum+=item
    pass
print("sum=%d"%sum)
  • while 使用:适用于对未知的循环次数,用于判断

  • for使用:适用于已知的循环次数【可迭代对象遍历】

案例: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

for i in range(1,11):
    print(i,end="")
    if i>=5:
        break
    pass
else:
    print("在上面的循环中,只要出现了break,那么else就不会执行")
account="linran"
pwd="123"
for i in range(3):
    zh=input("请输入账号")
    pw=input("请输入密码")
    if zh==account and pw==pwd:
        break
    pass
else:
    print("您的账号已被锁定")
#能起到一个很好的提示,三次错误,账号被锁定
  • while--else

index=1
while index<=10:
    print(index)
    if index==6:
        break
        pass
    index+=1
    pass
else:
    print("还会执行吗")

四、小结

很简单,有语言基础的基本这些可以直接跳过去

  • if-else

  • for循环

  • while循环

  • break,continue语句

五、课后习题

  • 猜年龄小游戏,三点需求

  1. 允许用户最多尝试三次

  1. 每尝试三次后,如果还没猜对,就问用户是否还想继续,如果回答Y或y,就让继续猜三次,以此往复,如果回答N或n,就退出程序

  1. 如果猜对了,就直接退出

  • 小王身高1.75,体重80.5kg,请根据BMI(体重除以身高的平方)帮小王计算它的BMI指数,并根据BMI指数:

  1. 低于18.5过轻

  1. 18.5-25 正常

  1. 25-28 过重

  1. 28-32 肥胖

  1. 高于32 严重肥胖,用if-elif判断并打印结果

六、答案

import random
age=random.randint(1,100)
Tip="Y"
flag=False
while Tip=="Y" or Tip=="y":
    for item in range(1,4):
        user_age=int(input("请输入你猜的年龄"))
        if(user_age<age):
            print("你猜的年龄过小")
        elif user_age==age:
            print("猜对啦")
            flag=True
            break
        else:
            print("猜的年龄过大")
    if(flag):
        break
    else:
        Tip=input("继续请输入【Y或y】,退出请输入【N或n】")
        if Tip=="N" or Tip=='n':
            break
height=1.75
weight=80.5
BMI=weight/(height**2)
if BMI<18.5:
    print("过轻")
elif BMI<25:
    print("正常")
elif BMI<28:
    print("过重")
elif BMI<32:
    print("肥胖")
else:
    print("严重肥胖")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Python中,异常处理是非常重要的一部分。当程序运行时如果出现错误,如果没有异常处理,程序就会崩溃。为了避免这种情况,Python提供了异常处理机制。 在Python中,异常处理语句使用 `try` 和 `except` 关键字来实现。`try` 语句块中包含可能会发生异常的代码,如果这段代码出现了异常,则会跳转到 `except` 语句块中执行异常处理代码。 下面是一个简单的例子: ```python try: num = int(input("请输入一个整数:")) print(10/num) except ZeroDivisionError: print("除数不能为0") except ValueError: print("输入的不是整数") ``` 在上面的代码中,我们尝试将用户输入的字符串转换为整数,并将其用作除数计算 10/num。如果用户输入的是 0,则会触发 ZeroDivisionError 异常。如果用户输入的不是整数,则会触发 ValueError 异常。如果发生异常,则会跳转到对应的 except 语句块中执行处理代码。 除了可以指定具体的异常类型,也可以使用 `except Exception` 来捕获所有异常。例如: ```python try: num = int(input("请输入一个整数:")) print(10/num) except Exception as e: print("发生异常:", e) ``` 在上面的代码中,如果发生任何异常,都会跳转到 `except` 语句块中执行处理代码,并将异常信息打印出来。 除了 `try` 和 `except`,还有 `finally` 关键字,它指定的代码块无论是否发生异常都会执行。例如: ```python try: num = int(input("请输入一个整数:")) print(10/num) except Exception as e: print("发生异常:", e) finally: print("程序执行完毕") ``` 在上面的代码中,无论是否发生异常,都会执行 `finally` 中的代码,即输出“程序执行完毕”。 总之,在Python中,异常处理是非常重要的一部分,它可以有效避免程序崩溃,提高程序的健壮性和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜菜小林然

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值