• 小甲鱼Python第006讲:Python之常用操作符课后测试及参考答案


    测试题:

    0. Python 的 floor 除法现在使用 “//” 实现,那 3.0 // 2.0 您目测会显示什么内容呢?

      1.0

      eg:3.0//2.0=1.0; 3.5//2.0=1.0;  3.5/2.0=1.75

    1. a < b < c 事实上是等于?
      a<b and b<c

    2. 不使用 IDLE,你可以轻松说出 5 ** -2 的值吗?
      0.04

    3. 如何简单判断一个数是奇数还是偶数?
      一个数除2余0-----偶数;

      一个数除2余1-----奇数。
    4. 请用最快速度说出答案:not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9
      (not 1) or( 0 and 1) or( 3 and 4) or( 5 and 6) or( 7 and 8 and 9)= 0 or 0 or 4 or 6 or 9

      两边都不是0的情况下 ,and 直接取后面的值 or 直接取前面的值 。

      如果存在0的情况,and 直接取0 or 直接取非0false是 0 。。

      所以 0 or 0 or 4 or 6 or 9 第一个不为0的是 4 所以是4 。

      0 or 0是 0,但 0 or 0 or 4就是 4了

      运算符由高到低依次为: 

      1. 幂运算:** 
      2. 正负号:+X,-X 
      3. 算术操作符:*,/,//,+,- 
      4. 比较操作符:<,<=,>,>=,==,!= 
      5. 逻辑运算符:not,and,or
    5. 还记得我们上节课那个求闰年的作业吗?如果还没有学到“求余”操作,还记得用什么方法可以“委曲求全”代替“%”的功能呢?
      year // 400 == year /400


    动动手:

    0. 请写一个程序打印出 0~100 所有的奇数。

    1 number = 0
    2 while number < 101:
    3    if number % 2 != 0:
    4         print( number)
    5    number += 1

    另:

    1 print("输出0~100所有的奇数")
    2 for i in range(100):
    3     if i%2 == 1:
    4         print(i)

    1. 我们说过现在的 Python 可以计算很大很大的数据,但是......真正的大数据计算可是要靠刚刚的硬件滴,不妨写一个小代码,让你的计算机为之崩溃?

    无限循环???


    2. 爱因斯坦的难题

    爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。
    (小甲鱼温馨提示:步子太大真的容易扯着蛋~~~)


    题目:请编程求解该阶梯至少有多少阶?

     1 number=7
     2 i=1
     3 aim = False
     4 while i>0 and i <100:
     5     if ((number % 2 == 1)and(number % 3 ==2) and ( number % 5 ==4)and ( number % 6 ==5) and (number %7==0)):
     6         aim = True
     7     else:
     8         number =7*i
     9     i += 1
    10 if aim == True:
    11     print("阶梯有" + str(number) + "")

    3. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!

    输出换行这个问题居然忘了········啊啊啊啊!生气····
    # Python isdigit() 方法检测字符串是否只由数字组成
    #python语言是一门脚本语言,支持面向对象、面向过程编程,兼具编译性和解释性的动态语言,整理出学习过程中一些基本Python运算符和运算符的优先级顺序。

    一、算术运算符

    运算符描述
    + 加 - 两个对象相加
    - 减 - 得到负数或是一个数减去另一个数
    * 乘 - 两个数相乘或是返回一个被重复若干次的字符串
    / 除 - x除以y
    % 取模 - 返回除法的余数
    ** 幂 - 返回x的y次幂
    // 取整除 - 返回商的整数部分(向下取整

    二、比较运算符

    运算符描述
    == 等于 - 比较对象是否相等
    != 不等于 - 比较两个对象是否不相等
    <> 不等于 - 比较两个对象是否不相等
    > 大于 - 返回x是否大于y
    < 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。
    >= 大于等于 - 返回x是否大于等于y。
    <= 小于等于 - 返回x是否小于等于y。


    三、赋值运算符

    运算符描述
    = 简单的赋值运算符
    += 加法赋值运算符
    -= 减法赋值运算符
    *= 乘法赋值运算符
    /= 除法赋值运算符
    %= 取模赋值运算符
    **= 幂赋值运算符
    //= 取整除赋值运算符


    四、位运算符

    运算符描述
    & 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
    | 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。
    ^ 按位异或运算符:当两对应的二进位相异时,结果为1
    ~ 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 。~x 类似于 -x-1
    << 左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。
    >> 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数


    五、逻辑运算符

    运算符逻辑表达式描述
    and x and y 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。
    or x or y 布尔"或" - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。
    not not x 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。

     

    六、成员运算符

    运算符描述
    in 如果在指定的序列中找到值返回 True,否则返回 False。
    not in 如果在指定的序列中没有找到值返回 True,否则返回 False。


    七、身份运算符

    运算符描述
    is is 是判断两个标识符是不是引用自一个对象
    is not is not 是判断两个标识符是不是引用自不同对象

     

    八、运算符优先级

      以下所列优先级顺序按照从低到高优先级的顺序;同行为相同优先级。

    复制代码
     1 Lambda  #运算优先级最低
     2 逻辑运算符: or
     3 逻辑运算符: and
     4 逻辑运算符:not
     5 成员测试: in, not in
     6 同一性测试: is, is not
     7 比较: <,<=,>,>=,!=,==
     8 按位或: |
     9 按位异或: ^
    10 按位与: &
    11 移位: << ,>>
    12 加法与减法: + ,-
    13 乘法、除法与取余: *, / ,%
    14 正负号: +x,-x

    转自https://www.cnblogs.com/hepeilinnow/archive/2018/10/02/9737590.html
  • 相关阅读:
    OCP-052考试题库汇总(35)-CUUG内部解答版
    OCP-052考试题库汇总(34)-CUUG内部解答版
    018 ThreadLocal实现线程安全
    017 无锁与CAS
    016 原子类
    015 可见性问题与volatile
    014 锁重入
    013 synchronized的优化
    012 内置锁和synchronized
    011 线程安全性问题
  • 原文地址:https://www.cnblogs.com/IT-NXXB/p/12839155.html
Copyright © 2020-2023  润新知