Python 怎么提取正负号

2022-09-24 16:49:11 +08:00
 noahhhh
我想用零次方取正负,比如 -3**0=-1 。但是用 n=-3 n**0=1 ,这是什么原因。
4400 次点击
所在节点    Python
15 条回复
deplivesb
2022-09-24 16:50:59 +08:00
任何数的 0 次方等于几?数学上咋学的?
yanqiyu
2022-09-24 16:58:01 +08:00
就这么说罢,a^0 * a = a^1 按照定义始终成立
a^1 = a 按照定义始终成立
这时候你猜猜良定义的 a^0 是?
noahhhh
2022-09-24 17:00:46 +08:00
@deplivesb 🙈完了,白学了
@yanqiyu
shushiyuedu
2022-09-24 17:04:11 +08:00
n=-3 # n 是要提取符号的数
x = '+' if n>0 else '-' # x 是提取结果
shushiyuedu
2022-09-24 17:05:27 +08:00
@noahhhh 你自己改吧,你自己没定义 0 对应啥符号,哈哈
datou
2022-09-24 17:11:20 +08:00
非零实数的零次幂都等于 1 吧?
krixaar
2022-09-24 17:28:18 +08:00
直接 n/abs(n)然后 0 作为特例呗
aloxaf
2022-09-24 17:36:41 +08:00
用 math.copysign
xiri
2022-09-24 18:05:12 +08:00
直接判断大于 0 小于 0 不就行了吗
HFcbyqP0iVO5KM05
2022-09-24 19:00:24 +08:00
同楼上,到底是什么原因不能判断是否小于零? enlight me please
jinliangtux
2022-09-24 19:33:44 +08:00
(-3)**0 = 1
xhuuanniqege
2022-09-24 19:54:15 +08:00
一个是-(3)^0 ,一个是(-3)^0 ,有啥好奇怪的吗
lambdaq
2022-09-24 22:39:10 +08:00
数学能力点过头了,工程能力欠缺。

python2: cmp()
python3: (a > b) - (a < b)
mikewang
2022-09-25 03:57:36 +08:00
简单的做法:(1, -1)[n < 0],如果需要 0 值也返回 1 的话。
fkdtz
2022-09-26 10:19:18 +08:00
不吃从何笑起

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/882640

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX