gpt4 book ai didi

python - 在 SymPy 中使用其他基础系统

转载 作者:太空宇宙 更新时间:2023-11-04 05:05:31 25 4
gpt4 key购买 nike

如何在 SymPy 中使用另一个基本系统?我想做一些类似于 Rational(string) 但不是以 10 为基数的事情。

最佳答案

您需要的大部分内容都可以在 Python 中获得:

def sdigits(s, b, tuple=False):
p = len(s.split('.')[1])
n, d = (int(s.replace('.', ''), base=b), b**p)
if tuple:
return n, d
return '%s/%s' % (n, d)

这产生以下内容,

sdigits('1.1', 3) -> '4/3'
sdigits('1.01', 3) -> '10/9'
sdigits('-1.12', 3) -> '-14/9'
sdigits('-1.12', 3, tuple=True) -> (-14, 9)
sdigits('1.2', 4) -> '6/4'

要受益于 SymPy 提供简化比率的能力,您可以将任一输出传递给 Rational:

Rational(sdigits('1.2', 4)) -> 3/2
Rational(*sdigits('1.2', 4, tuple=True)) -> 3/2

关于python - 在 SymPy 中使用其他基础系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44616903/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com