Python教程

[Python学习笔记-012]古巴比伦人的乘法表

本文主要是介绍[Python学习笔记-012]古巴比伦人的乘法表,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

问题:我们知道,古巴比伦人采用的六十进制。那么,如果为古巴比伦人绘制一张59x59的乘法表,该如何实现呢?

通过Python实现并不复杂,但关键步骤有二:

  • 01 - 将十进制数转换为六十进制数
  • 02 - 将六十进制数翻译成古巴比伦人的符号数字

在实现上述关键步骤之前,我们先看看古巴比伦人的符号数字。

在上述符号系统中,一把小钥匙表示1,一个鱼骨头表示10。

  • 1

  • 10

 接下来,我们将任何一个十进制数转换为六十进制数。

1. 将十进制数转换为六十进制数

 1 def dec2basen(n, basen=2):
 2     """ Convert decimal number to base-N number """
 3     m = n
 4     k = 0
 5     while True:
 6         cnt = m // basen
 7         if cnt == 0:
 8             break
 9         m = cnt
10         k += 1
11 
12     m = n
13     out = []
14     i = k
15     while i >= 0:
16         x = m // (basen ** i)
17         out.append(x)
18 
19         m -= x * (basen ** i)
20         i -= 1
21 
22     return out
23 
24 
25 def dectobase60(n):
26     """ Convert decimal number to base-60 number """
27     return dec2basen(n, 60)

 

。。。未完待续。。。

这篇关于[Python学习笔记-012]古巴比伦人的乘法表的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!