V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
noahhhh
V2EX  ›  Python

Python 怎么提取正负号

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

    python2: cmp()
    python3: (a > b) - (a < b)
    mikewang
        14
    mikewang  
       2022-09-25 03:57:36 +08:00   ❤️ 1
    简单的做法:(1, -1)[n < 0],如果需要 0 值也返回 1 的话。
    fkdtz
        15
    fkdtz  
       2022-09-26 10:19:18 +08:00
    不吃从何笑起
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3298 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 10:46 · PVG 18:46 · LAX 03:46 · JFK 06:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.