其他分享
首页 > 其他分享> > 如何简化复杂的比例?

如何简化复杂的比例?

作者:互联网

有没有简单的方法可以简化比率下降?
例如1875:5625:625将变为3:9:1.

我正在使用Python,但是我想知道为什么而不是怎么做.

解决方法:

有一个内置的gcd function in the fractions module,因此利用它我可以获得不错的输出:

from fractions import gcd

ratio = '1875:5625:625'

def solve(ratio):
    numbers = [int(i) for i in ratio.split(':')]
    denominater = reduce(gcd,numbers)
    solved = [i/denominater for i in numbers]
    return ':'.join(str(i) for i in solved)

ratio_2_solve =  solve(ratio)
print ratio_2_solve
#3:9:1

所以给定比例

1875:5625:625 

它会产生:

3:9:1

但这不是最好的部分,您甚至可以将比率设置为:

'1875:5625:625:5000:46875:46250'

仍然获得以下输出:

3:9:1:8:75:74

标签:fractions,python
来源: https://codeday.me/bug/20191122/2059310.html