第007、008讲:了不起的分支循环1&2 | 学习记录(小甲鱼零基础入门学习Python)

(标答出处: 鱼C论坛)
《零基础入门学习Python》

基础题:

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

    if money >= 100:

  2. assert 的作用是什么?

    assert断言是声明其布尔值必须为真的判定,如果发生异常就说明表达示为假。也就是说assert断言语句为raise-if-not,用来测试表示式,其返回值为假,就会触发异常。

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

    x,y,z=y,z,x

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

    if x<y :
    	print x 
    else :
    	print y
    
  5. 你听说过成员资格运算符吗?

    in 就是成员资格运算符,用来查询是否为存在其中。如:
    
    a in ‘abc’
    True	
    

动动手:

  1. 视频中小甲鱼使用 if elif else 在大多数情况下效率要比全部使用 if 要高,但根据一般的统计规律,一个班的成绩一般服从正态分布,也就是说平均成绩一般集中在 70~80 分之间,因此根据统计规律,我们还可以改进下程序以提高效率。
    题目备忘:按照100分制,90分以上成绩为A,80到90为B,60到80为C,60以下为D,写一个程序,当用户输入分数,自动转换为ABCD的形式打印。

    因为说是要提高运算效率,而且大部分的人一般集中在70-80分,所以,可以把判定分数是否在70-80分作为第一个判断条件来提高效率。

    while True :
        grade = input ("请输入成绩:")
        grade = int (grade)
        if grade>=90 :
            print ('A')
        elif grade<90 and grade>=80 :
            print ('B')
        elif grade<80 and grade>=60 :
            print ('C')
        else:
            print ('D')
    
  2. 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)

标答:

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

    if money >= 100:

  2. assert 的作用是什么?

    断言,当这个关键字后边的条件为假的时候,程序自动崩溃并抛出AssertionError的异常

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

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

    这其实是 Python 的作者还没有为 Python 加入三元操作符之前,Python 社区的小伙伴们灵活的使用 and 和 or 搭配来实现三元操作符的功能,这里边有涉及到列表和切片的知识,这部分知识很快就会讲解,迫不及待的朋友可以先稍微预习下

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

    in,用于检查一个变量是否在序列中,如果在返回True,否则返回False

动动手:

  1. 视频中小甲鱼使用 if elif else 在大多数情况下效率要比全部使用 if 要高,但根据一般的统计规律,一个班的成绩一般服从正态分布,也就是说平均成绩一般集中在 70~80 分之间,因此根据统计规律,我们还可以改进下程序以提高效率。
    题目备忘:按照100分制,90分以上成绩为A,80到90为B,60到80为C,60以下为D,写一个程序,当用户输入分数,自动转换为ABCD的形式打印。

     score = int(input ('请输入分数\n'))
     if 90<=score<=100:
         print("A")
     elif 80<=score<90:
         print("B")
     elif 70<=score<80:
         print('C')
     else:
         print('D')
    
  2. 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/qq_38970783/article/details/84105138