小甲鱼Python3学习笔记之第七讲、第八讲(仅记录学习)

第七讲、第八讲:了不起的分支和循环

一、知识点:

0.条件语句,if……else语法

if 判断条件:
    执行语句……
else:
    执行语句……

elif语法:

if 判断条件1:
    执行语句1……
elif 判断条件2:
    执行语句2……
elif 判断条件3:
    执行语句3……
else:
    执行语句4……

1.条件表达式:

为真时的结果 if 判定条件 else 为假时的结果

例如:

x,y=1,2
small = x if x<y else y

2.assert断言,顾名思义,断定此处是对的,如果错了,那一定是有问题。格式为:

assert+空格+要判断语句+双引号“报错语句”

-------------------------------------------------------------------------------------------------------------------------

二、课后作业:

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

if money>=100

1.assert的作用是什么?

assert这个关键字称之为“断言”,当这个关键字后边的条件为假的时候,程序自动崩溃并抛出AssertionError的异常。什么情况下我们需要这样的代码呢?当我们在测试程序的时候就很好用,因为与其让其错误的条件导致程序莫名其妙地崩溃,不如在错误条件出现的那一瞬间实现程序“自爆”。一般来说我们可以用assert在程序中置入检查点,当需要确保程序中的某个条件一定为真才能让程序正常工作的话,assert关键字就非常有用了。

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

x,yz=z,y,x

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

这个式子可以简化成(x<y and x or y),即x<y为真时输出x,否则输出y。但当x和y的有值为0(等同于flase)的情况就会判断失误。因为改为[x]和[y],这样[x]和[y]就都为真了,再加上(0),又变成了列表的第一个元素,即复原为x或y。一般python的写法为x if x<y else。

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

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

-------------------------------------------------------------------------------------------------------------------------

三、动动手:

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

score = 100
while score >=0:
    temp = input('请输入一个分数:')
    score = int(temp)
    if 60<=score<80:
        print('C')
    elif 90<=score<=100:
        print('A')
    elif 80<=score<90:
        print('B')
    elif 0<=score<60:
        print('D')
    else:
        print('输入有误!')

1.Python 的作者在很长一段时间不肯加入三元操作符就是怕跟C语言一样搞出国际乱码大赛,蛋疼的复杂度让初学者望而生畏,不过,如果你一旦搞清楚了三元操作符的使用技巧,或许一些比较复杂的问题反而迎刃而解。

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

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)
-------------------------------------------------------------------------------------------------------------------------

猜你喜欢

转载自blog.csdn.net/huashu2017/article/details/80562959