zoukankan      html  css  js  c++  java
  • 008,分支和循环2

    008,分支和循环2
      判断和循环
    例子:按照100分制,90分以上成绩为A,80-90为B,60-80为C,60以下为D,写一个程序,当用户输入分数,自动转换为ABCD形式的打印。
     第一个方案: 
    score = int(input('请输入一个分数:'))
    if 100 >= score >= 90:
        print('A')
    if 90 > score >= 80:
        print('B')
    if 80 > score >= 60:
        print('C')
    if 60 > score >= 0:
        print('D')
    if score < 0 or score > 100:
        print('输入错误')
     第二种方法: 
    score = int(input('请输入你的分数:'))
    if 100>= score >= 90:
        print('A')
    else:
        if 90 > score >= 80:
            print('B')
        else:
            if 80 > score >= 60:
                print('C')
            else:
                if 60 > score >= 0:
                    print('D')
                else:
                    print('输入错误。')
     第三种方法: 
    score = int(input('请输入你的分数:'))
    if 100>= score >= 90:
        print('A')
    elif 90 > score >= 80:
        print('B')
    elif 80 > score >= 60:
        print('C')
    elif 60 > score >= 0:
        print('D')
    else:
        print('输入错误。')
     elif =else if 的缩写
     
    python可以有效避免“悬挂else”
     何谓“悬挂else”?例子: 
    if (hi > 2)
        if (hi > 7)
            printf("好棒好棒");
    else
        printf("切~")
     按照C语言的就地匹配原则,else会跟第二个if匹配,容易出bug
    python强制使用正确的缩进。 

    条件表达式 (三元操作符)如: 
    x,y = 4,5
    if x < y:
        small = x
    else:
        small = y
     可以改进为: 
    small = x if x < y else y
     语法:x if 条件 else y
     
    断言(assert)
    assert这个关键字我们称之为“断言”,当这个关键字后边的条件为假的时候,程序自动崩溃并抛出AssertionError的异常,如: 
    >>> assert 3 > 4
    Traceback (most recent call last):
      File "<pyshell#0>", line 1, in <module>
        assert 3 > 4
    AssertionError
    >>> 
     一般来说,我们可以用它在程序中置入检查点,当需要确保程序中的某个条件一定为真才能让程序正常工作的话,assert关键字就非常有用了。

    测试题:
       
    0. if not (money < 100): 上边这行代码相当于?
    答:if (money >= 100)
     1. assert 的作用是什么?
    答:检查条件是否为真。
    2. 假设有 x = 1,y = 2,z = 3,请问如何快速将三个变量的值互相交换? 
    答: x=z-y,y=z-x,z=x+y   ?参考答案:x, y, z = z, y, x  (WTF,啥意思?!)
     3. 猜猜 (x < y and [x] or [y])[0] 实现什么样的功能?
    答:不懂
    参考答案:这其实是 Python 的作者还没有为 Python 加入三元操作符之前,Python 社区的小伙伴们灵活的使用 and 和 or  搭配来实现三元操作符的功能,这里边有涉及到列表和切片的知识,这部分知识很快就会讲解,迫不及待的朋友可以先稍微预习下。
     4. 你听说过成员资格运算符吗?
    答:百度之:集合成员资格运算符:IN ,NOT IN.    IN 表示在集合中查询。NOT IN表示不在集合中查询。
    参考答案:Python 有一个成员资格运算符:in,用于检查一个值是否在序列中,如果在序列中返回 True,否则返回 False。
      
     动动手:  
    0. 视频中小甲鱼使用 if elif else 在大多数情况下效率要比全部使用 if 要高,但根据一般的统计规律,一个班的成绩一般服从正态分布,也就是说平均成绩一般集中在 70~80 分之间,因此根据统计规律,我们还可以改进下程序以提高效率。  题目备忘:按照100分制,90分以上成绩为A,80到90为B,60到80为C,60以下为D,写一个程序,当用户输入分数,自动转换为ABCD的形式打印。  
    score = int(input('请输入你的分数:'))
    if 80 > score >= 60:
        print('C')
    elif 90 > score >= 80:
        print('B')
    elif 60> score >= 0:
        print('D)
    elif 100 > score >= 90:
        print('A')
    else:
        print('输入错误。')
     其实就是把概率高的条件放在第一个if语句中。

    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 = z if z < x if x < y or y if y < z else z 
    参考答案:small = x if (x < y and x < z) else (y if y < z else z)

  • 相关阅读:
    php中模拟多继承如何实现
    js进阶 12-4 jquery键盘事件如何使用
    php课程 3-12 带默认参数的函数怎么写
    android_线
    Cocos2d-x 文本渲染
    一张地图告诉你,只JavaScript不够!
    python 导入库问题
    Cocos2d-X字体
    R语言做文本挖掘 Part5情感分析
    Java存储区域——JVM札记&lt;一个&gt;
  • 原文地址:https://www.cnblogs.com/fishdm/p/3572982.html
Copyright © 2011-2022 走看看