小甲鱼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
原文地址:https://www.cnblogs.com/IT-NXXB/p/12839155.html