测试题:

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

答:相当于if (money >= 100):

 

1.  assert的作用是什么?

答:assert断言,作用是主动的用于判断程序里某个条件是否成立,成立为真,不成立为假。当这个关键字后面的条件为假的时候,程序自动崩溃并抛出AssertionError的异常。用于测试程序,如其让错误的条件导致程序今后莫名其妙崩溃,不如在错误条件出现的那一瞬间自爆。

 

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

答:使用三元操作符的条件表达式:

z =x if x < y else y

 

x,y,z= z,y,x

 

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

答:使用and or搭配实现三元操作符的功能,这里有涉及列表和切片的知识。

 

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

答:成员运算符:in 和 not in

in:如果x在y中,成立则为真,表示x是序列y的成员,否则为false

notin:如果x不在y中,成立则为真,表示x不是序列y的成员,否则为false

 

动动手:

0.      改进查询成绩题目,提高效率:

题目:按照100分制,90分以上成绩为A,80到90为B,60到80为C,60以下为D,写一个程序,当用户输入分数,自动转换为ABCD形式打印。

答:

#!/usr/bin/envpython

#__coding:utf-8__

member = int(input("请输入你的分数:"))

if 80 > member>= 60:

    print "C"

elif 90 >member >= 80:

    print "B"

elif 100 >member >= 90:

    print "A"

elif 60 >member >= 0:

print"D"

else:

    print("输入错误!")

 

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

答:

x,y,z = 6 , 5 , 4

small = x if x< y else z

if small == x :

    small = z if z < x else x

small = y if y< z else z

 

正确答案:

small = x if (x< y and x < z) else (y if y < z else z)