Python3 CookBook | 数字处理

简介: 数字处理一般来说都比较简单,这篇文章主要介绍几个常见问题和常用函数。

取整和四舍五入


使用 int() 函数取整会直接丢弃小数位,不进行四舍五入。


In [4]: int(1.63)
Out[4]: 1
复制代码


round() 函数会根据所带参数确定保留的小数位数,然后输出四舍五入后的结果。


In [6]: round(1.63)
Out[6]: 2
In [7]: round(1.63, 1)
Out[7]: 1.6
复制代码


精确的浮点数运算


浮点数计算最让我头疼的就是它的小误差,这种误差并不是每一次都会出现,有的时候想在页面上展示一个计算结果,突然发现这个结果变成了一大长串数字,然后还要修改代码,将这串数字格式化。


In [8]: a = 1.1
In [9]: b = 1.2
In [10]: a + b
Out[10]: 2.3
In [11]: a = 4.2
In [12]: b = 2.1
In [13]: a + b
Out[13]: 6.300000000000001
复制代码


如果想要避免这种情况可以使用 Decimal() 来进行精确计算,但这样的问题是会有一些性能上的损耗。


In [14]: from decimal import Decimal
In [15]: a = Decimal(2.1)
In [16]: b = Decimal(4.2)
In [17]: a + b
Out[17]: Decimal('6.300000000000000266453525910')
In [18]: a = Decimal('2.1')
In [19]: b = Decimal('4.2')
In [20]: a + b
Out[20]: Decimal('6.3')
复制代码


需要注意的是,传入的参数需要是字符串,有点奇怪。


随机数


用 random 来生成随机数,该模块还提供了很多 function,特别有用。

产生[0,1)之间的随机数。

random.random()

产生[min, max)之间的随机整数。random.randint(min, max)

从可迭代对象中随机选取一个元素返回。

random.choice(iterable)

从可迭代对象中随机选取不重复的 k 个元素,以数组的形式进行返回。

random.sample(iterable, k)

在[start, stop)中以步长 step 进行步进,随机产生一个元素。

random.randrange(start, stop, step)

对序列进行原地随机打乱顺序,返回 None,一定要注意这是原地起作用的。

random.shuffle(l)

这里就不做具体演示了。

关于数字还有很多其他操作,比如格式化输出,十六进制整数的转换,复数运算等等,但都不是很复杂,有的可能也不常遇到。

未完待续。。。


目录
相关文章
|
Python
【python实战】top1 数字组合——有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
【python实战】top1 数字组合——有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
717 0
【python实战】top1 数字组合——有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
|
索引 Python 容器
【Python基础速览1】变量 | 输出和输入 | 数字类型 | 字符串类型(二)
最近得了急性胃肠炎(草),所以咕咕咕了好几天,等过段时间一定好好肝文。这次就发一发前几年学Python时自己记的笔记吧,还是和之前一样,适合用来复习过一遍基础,并不适合从零开始。
175 0
【Python基础速览1】变量 | 输出和输入 | 数字类型 | 字符串类型(二)
|
Java C语言 Python
【Python基础速览1】变量 | 输出和输入 | 数字类型 | 字符串类型(一)
最近得了急性胃肠炎(草),所以咕咕咕了好几天,等过段时间一定好好肝文。这次就发一发前几年学Python时自己记的笔记吧,还是和之前一样,适合用来复习过一遍基础,并不适合从零开始。
138 0
【Python基础速览1】变量 | 输出和输入 | 数字类型 | 字符串类型(一)
|
机器学习/深度学习 Python
「Python」数字推盘游戏-pygame
本文是课本上的pygame小项目,是一个游戏设计—数字推盘
355 0
「Python」数字推盘游戏-pygame
|
设计模式 编解码 前端开发
「Python」数字推盘游戏
前面知识只是简单的对pygame进行参数的介绍,后面还需要用到MVC设计模式,在这里不多做说明,建议直接观察源代码
617 0
「Python」数字推盘游戏
|
开发工具 git Python
python:变量是储存数字的盒子吗???
在我们在使用乘法时,Git这个实例会抛出异常,但是仍然输出了git的id所以表面了在求积之前其实会创建一个新的Git实例,但是不可否认的是肯定不会创建变量y,因为在右边进行求值时抛出了异常
python:变量是储存数字的盒子吗???
|
存储 Python
Python 编程 | 连载 02 - 数字与字符串
Python 编程 | 连载 02 - 数字与字符串
Python 编程 | 连载 02 - 数字与字符串
|
存储 Python
Python 数据类型和数字(3)
Python 数据类型和数字(3)
134 0
Python 数据类型和数字(3)
|
人工智能 Python
Python 数字类型
Python 中数字类型有4种,分别是整型int、浮点型float、复数型comlex、布尔型bool。本文为大家介绍整型、浮点型两种类型。
106 0
Python 数字类型
|
Python
python判断数字间组合有多少种
python判断数字间组合有多少种
124 0
python判断数字间组合有多少种