是的我把第二题吃了
和大多数编程语言一样 python 可以进行数学运算,本题是使用数字以及运算符号
符号 | 运算法则 |
---|---|
+ | 加法 |
- | 加法 |
/ | 除法 |
% | 取余 |
// | 整除 |
* | 乘法 |
** | 幂运算 |
< | 小于 |
> | 大于 |
<= | 小于等于 |
>= | 大于等于 |
#
在代码每行前写一个注解,说明下面代码的作用.py
脚本的方法计算一些东西。ex3.py
,让它的计算结果更准确。
# 打印一行字 “我将要计算我拥有多少鸡”
print("I will now count my chickens:")
# 打印并计算母鸡的数量
print("Hens", 25 + 30 / 6)
# 计算公鸡的数量
print("Roosters", 100 - 25 * 3 % 4)
# 打印一行字 “现在我要计算鸡蛋的数量了”
print("Now I will count the eggs:")
# 计算鸡蛋的数量
print(3 + 2 + 1 - 5 + 4 % 2 - 1 / 4 + 6)
# 判断 3+2 是否小于 5-7
print("Is it true that 3 + 2 < 5 - 7?")
print(3 + 2 < 5 - 7)
# 加法、减法运算
print("What is 3 + 2?", 3 + 2)
print("What is 5 - 7?", 5 - 7)
# 作者卖萌
print("Oh, that's why it's False")
# 判断大小
print("Is it greater?", 5 > -2)
print("Is it greater or equal?", 5 >= -2)
print("Is it less or equal?", 5 <= -2)
黄色部分是和 python2 版结果不同的地方,原因见加分4题的说明。
print("文件大小是1G,下载带宽是4M下水管,计算下载用几分钟:")
print(1024000 / ((4 * 1024) / 8) / 60)
(4 * 1024):4M 的准确带宽 = 4096 Kb/s。
/ 8:换算带宽 Kb/s 到 KB/s
1G = 1024000 KB
应该是无限333循环的,但小数最后一位不太对。why?请看3.4
目前了解的是所有常见的编程语言在十进制浮点数运算时都会遇到不准确的问题,python会尽力找一种精确的结果来显示,不过好在我们有其他办法获得更精确的十进制浮点数。
python默认的浮点数是17位,我们通常用不到这么多,这样可以使用python内置函数 round()
或 格式化字符两种方式来精确小数位。而如果需要更多位数则可以考虑用 decimal 模块
《笨办法学 python3》系列练习计划——目录