Python 2.7中的数字转换:base6到base10

时间:2017-07-15 20:14:04

标签: python-2.7 bitcoin base dice

搜索了这个并没有找到有用的帮助。也许我搜错了。想想我可能会在这里问一下,然后了解更多。

假设我有99个数字,范围从1到6,由6个骰子滚动99次。 我想将它从base6(这已经是base6格式?)转换为python 2.7中的base10,我该怎么做?代码应该是非神秘且可读的。 如果需要,将6的自动替换为0将是好的。 这是比特币私钥生成的方式。 正在输入骰子卷时,请输入“输入骰子卷:”

从数字范围1 - 6 - >基本转换6面骰子卷。 0 - 5 - > 0 - 9

不要笑,基本上我现在写的就是这样:

import ...????
dice_input = input("Enter dice rolls: ")
dice_convert_base6_to_base10 = base10.encode(dice_input)...????

不知道我是否需要导入以及如何处理dice_input。对大多数人来说,我的问题可能听起来有点愚蠢,请不要判断..非常感谢我能得到的每一个帮助!

1 个答案:

答案 0 :(得分:3)

使用内置的int函数doc

它会从string转换为integer类型。因此,您需要将输入作为字符串doc

它接受您想要假设源来自的基础的第二个(可选)参数。

代码最终会看起来像:

dice_input = raw_input("Enter dice rolls: ")
dice_convert_base6_to_base10 = int(dice_input, 6)

要将6转换为0,您只需使用字符串docreplace方法即可。

然后将代码更改为:

dice_input = raw_input("Enter dice rolls: ").replace('6','0')
dice_convert_base6_to_base10 = int(dice_input, 6)

不确定这是否真的是获得你想要的密钥生成的方式......但是,我认为我并没有真正理解用例。