学习Python006
本文最后更新于:2023年3月17日 下午
測試題:
0.Python 的 floor 除法现在使用 “ // ” 实现,那 3.0 // 2.0 您目测会显示什么内容呢?
會顯示1.0,在python2中 /
除法運算符會得到整數部分,而Python3 /
除法運算符是人類計算的正真除法,但是Python的小夥伴認為計算機計算還是需要只得到大多數語言一樣的除法效果,所以加入了//
除法運算;
1.a < b < c 事实上是等于?
實際上等價于:a < b and b < c
2.不使用 IDLE ,你可以轻松说出 5 ** -2 的值吗?
得到 0.04;
幂运算操作符比其左侧的一元操作符优先级高,比其右侧的一元操作符优先级低。
這裡給出運算符的表格:
以下假设变量a为10,变量b为21:
运算符 | 描述 | 實例 |
---|---|---|
+ |
加 - 两个对象相加 | a + b 输出结果 31 |
- |
减 - 得到负数或是一个数减去另一个数 | a - b 输出结果 -11 |
* |
乘 - 两个数相乘或是返回一个被重复若干次的字符串 | a * b 输出结果 210 |
/ |
除 - x 除以 y | b / a 输出结果 2.1 |
% |
取模 - 返回除法的余数 | b % a 输出结果 1 |
** |
幂 - 返回x的y次幂 | a**b 为10的21次方 |
// |
取整除 - 返回商的整数部分 | 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0 |
3.如何简单判断一个数是奇数还是偶数?
使用求余可以简单得到答案:能被 2 整除为偶数,所以 x % 2 == 0
,否则为奇数。
4.请用最快速度说出答案: not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9
答案是:4
not or and
的优先级是不同的: not > and > or
我们按照优先级给它们加上括号: (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
==
4
为啥是 4 ?
还记得004作业提到的“短路逻辑”吗? 3 and 4 == 4
,而 3 or 4 == 3
。
所以答案是: 4
這裡給出邏輯運算符表格:
Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20:
运算符 | 逻辑表达式 | 描述 | 实例 |
---|---|---|---|
and |
x and y |
布尔”与” - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 | (a and b) 返回 20。 |
or |
x or y |
布尔”或” - 如果 x 是 True,它返回 True,否则它返回 y 的计算值。 | (a or b) 返回 10。 |
not |
not x |
布尔”非” - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 | not(a and b) 返回 False |
動動手:
0.请写一个程序打印出 0~100 所有的奇数。
1 |
|
- 我们说过现在的 Python 可以计算很大很大的数据, 是…… 真正的大数据,计算可是要靠刚刚的硬件滴,不妨写一个小代码,让你的计算机为之崩溃?
我們可以使用冪計算來實現,但是別隨便玩啊,電腦崩潰了別找我
1 |
|
2.爱因斯坦的难题
爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。
题目:请编程求解该阶梯至少有多少阶?
1 |
|