【问题标题】:Number conversion in Python 2.7: base6 to base10Python 2.7 中的数字转换:以 6 为基数到以 10 为基数
【发布时间】:2017-07-15 20:14:03
【问题描述】:

对此进行了搜索,但没有找到有用的帮助。也许我搜索错了。我想我可能会在这里问一下,然后通过它了解更多信息。

假设我有 99 个数字,范围从 1 到 6,由 6 面骰子掷 99 次制成。 我想在python 2.7中将它从base6(这已经是base6格式吗?)转换为base10,我该怎么做?代码应该是非神秘和可读的。 如果需要,自动将 6 替换为 0 会很好。 顺便说一下,它是用于生成比特币私钥的。 当它询问“输入骰子:”时,正在手动输入骰子。

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

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

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

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

【问题讨论】:

    标签: python-2.7 bitcoin base dice


    【解决方案1】:

    使用内置的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)
    

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

    【讨论】:

    • 第一:谢谢!它基本上连接到我在此处找到的其他代码:stackoverflow.com/questions/45114578/… 如果其他代码完成,我想首先生成一个随机数,将其输入并让它处理为比特币私钥。因为我想为脚本提供第一个必须由我自己使用的随机数,而不是让它由我的计算机生成。您的方法导致:“AttributeError: 'long' object has no attribute 'replace' if I enter the 99 numbers. Tried out your 2nd codeversion.
    • 如果我只输入数字 123456,它会返回“AttributeError: 'int' object has no attribute 'replace'
    • 我的错,这就是我没有测试就回答的问题...尝试使用raw_input内置函数而不是input
    • 顺便说一下,背景信息:这是比特币私钥维基:en.bitcoin.it/wiki/Wallet_import_format,这是如何从掷骰子开始并获得比特币私钥的分步指南:bitcointalk.org/index.php?topic=919430.5;imode所以你可以更详细地看到我在这里尝试做的事情。给我的脚本一个非数字生成的随机数对我来说听起来比依靠我的计算机生成一个更安全。第一个随机数是最重要的,如果它不是真正随机的,那是不安全的。
    • raw_input 有效,不会产生错误!顺便说一句,raw_input 是我一开始在那里使用的,但由于某种原因将其更改为 input。尝试将其连接到私钥生成的整个过程,以使用我现在来自 stackoverflow.com/questions/45114578/… 的代码结束 WIF 私钥。到目前为止感谢! :) 顺便说一句:你的代码行中没有这个“base10”进程吗?还是我傻哈哈
    猜你喜欢
    • 2019-11-27
    • 1970-01-01
    • 2012-09-24
    • 2016-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多