刚才查看了一下手机设备信息,发现屏幕分辨率是3200:1440
然后就联想到一般的设备屏幕宽高比应该是16:9
那我的宽高比是多少呢?用计算器算,我真不知道该怎么快速算出来
于是就去了解了一下分式化简的算法,最后自己看百度百科用Python实现了,做个记录。
def gcd(a, b):
"""
辗转相除法获取a, b的最大公约数
"""
m = max(a, b)
n = min(a, b)
r = m % n # 余数
while r > 0:
_r = r
r = n % r
n = _r
return n
def simple(a, b):
r = gcd(a, b)
return (a / r, b / r)
print(simple(3200, 1440))
# (20.0, 9.0)
哈哈,最后得出我手机屏幕宽高比为20:9,好像是比电脑的16:9窄长了一点。
最后不得不说欧几里得是个伟大的数学家。
参考:欧几里得算法_百度百科
更新:2021/8/21
刚看到一篇知乎文章,有更简洁的写法,遂参考做出修改如下:
def gcd(a, b):
"""
辗转相除法获取a, b的最大公约数
"""
if a < b: return gcd(b, a)
while b > 0:
a, b = b, a % b
return a
def simple(a, b):
r = gcd(a, b)
return (a / r, b / r)
print(simple(3200, 1440))
# (20.0, 9.0)