python同符号数学运算_Python标准库——数学运算

正号和负号

一个数的绝对值就是不带正负号的本值。使用fabs()可以计算一个浮点数的绝对值。

新建math_fabs.py文件。

import math

print(math.fabs(-1.1))

print(math.fabs(-0.0))

print(math.fabs(0.0))

print(math.fabs(1.1))

以上代码输出结果为:

1.1

0.0

0.0

1.1

以上代码,在实际中,float的绝对值表示为一个正值。

要确定一个值的符号,以便为一组值指定相同的符号或者比较两个值,可以使用copysign()来设置值的符号。

新建math_copysign.py文件。

import math

HEADINGS = ('f', 's', '< 0', '> 0', '= 0')

print('{:^5} {:^5} {:^5} {:^5} {:^5}'.format(*HEADINGS))

print('{:-^5} {:-^5} {:-^5} {:-^5} {:-^5}'.format(

'', '', '', '', '',

))

VALUES = [

-1.0,

0.0,

1.0,

float('-inf'),

float('inf'),

float('-nan'),

float('nan'),

]

for f in VALUES:

s = int(math.copysign(1, f))

print('{:5.1f} {:5d} {!s:5} {!s:5} {!s:5}'.format(

f, s, f < 0, f > 0, f == 0,

))

以上代码输出结果为:

f s < 0 > 0 = 0

----- ----- ----- ----- -----

-1.0 -1 True False False

0.0 1 False False True

1.0 1 False True False

-inf -1 True False False

inf 1 False True False

nan -1 False False False

nan 1 False False False

以上代码还需要另一个类似copysign()的函数,因为不能将 nan 和 -nan 与其他值直接比较。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值