第007-008讲:了不起的分支和循环(分支)

课程内容

打飞机游戏的框架

加载背景音乐
播放背景音乐(单曲循环)
我方飞机诞生
间隔 = 0
while True:
    if  用户是否关闭退出按钮:
        退出程序
        
     间隔+=1
     if   间隔 % 50 == 0:
         小飞机诞生
    
    小飞机移动一个位置
    屏幕刷新

    if  用户鼠标移动:
        我方飞机中心位置= 用户移动位置
        屏幕刷新
        
    if 我方飞机与敌方飞机相撞:
        我方飞机挂
        修改我方飞机图案
        播放背景音乐(淡出)
        打印“game over ”

打印成绩等级

method 1

################打印成绩method1############
temp=input("请输入你的成绩:")
grade=int(temp)
if  90 <= grade <= 100:
    print("A")
if  80 <= grade <= 90:
    print("B")
if  70<= grade <= 80:
    print("C")
if  60 <= grade <= 70:
    print("D")
if  grade <= 60:
    print("E")

method 2

################打印成绩method 2############
temp=input("请输入你的成绩:")
grade=int(temp)
if  90 <= grade <= 100:
    print("A")
else:
    if  80 <= grade <= 90:
        print("B")
    else:
        if  70<= grade <= 80:
            print("C")
        else:
            if  60 <= grade <= 70:
                print("D")
            else:
                if  grade <= 60:
                    print("E")
                

method 3–elif

################打印成绩method 3############
temp=input("请输入你的成绩:")
grade=int(temp)
if  90 <= grade <= 100:
    print("A")
elif  80 <= grade <= 90:
    print("B")
elif  70<= grade <= 80:
    print("C")
elif  60 <= grade <= 70:
    print("D")
else:
    print("E")

三种方法:method1判断出结果之后还会一直执行,直到结束,浪费时间和内存。method2和method3相同,但3更简洁,可以避免悬挂else。

条件表达式(三元操作符)

语法: x  if 条件 else y
eg: small = x  if  x < y else y
if 后面表达式为真的时候将 x 赋值给small,否则将y的值赋给small

断言(assert)

当assert关键字后的条件为假的时候,程序自动崩溃被抛出AssertionError异常,一般用来置入检查点。
确保程序中某个条件一定为真的时候才能让程序正常工作。

在这里插入图片描述

课后作业题

0. if not (money < 100): 上边这行代码相当于?

if  money >= 100:

1. assert 的作用是什么?

置入检查点。确保程序中某个条件一定为真的时候才能让程序正常工作。

2. 假设有 x = 1,y = 2,z = 3,请问如何快速将三个变量的值互相交换?

x,y,z = z,x,y

3. 猜猜 (x < y and [x] or [y])[0] 实现什么样的功能?

三元操作符

4. 你听说过成员资格运算符吗?

成员资格运算符in。
用于检查一个值是否在序列中,如果在序列中返回 True,否则返回 False。

动动手答案

0. 视频中小甲鱼使用 if-elif-else 在大多数情况下效率要比全部使用 if 要高,但根据一般的统计规律,一个班的成绩一般服从正态分布,也就是说平均成绩一般集中在 70~80 分之间,因此根据统计规律,我们还可以改进下程序以提高效率。

1. 题目备忘:按照 100 分制,90 分以上成绩为 A,80 到 90 为 B,60 到 80 为 C,60 以下为 D,写一个程序,当用户输入分数,自动转换为ABCD 的形式打印。
temp=input("请输入你的成绩:")
grade=int(temp)
if  60<= grade <= 80:
    print("C")
elif  80 <= grade <= 90:
    print("B")
elif  90 <= grade <= 100:
    print("A")
else:
    print("D")

1.请将以下代码修改为三元操作符实现:

x, y, z = 6, 5, 4
if x < y:
    small = x
    if z < small:
        small = z
elif y < z:
    small = y
else:
    small = z
small = x if (x < y and x < z) else (y if y < z else z)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值