gpt4 book ai didi

python-3.x - 使用基数将字符串转换为十进制

转载 作者:行者123 更新时间:2023-12-04 20:35:51 26 4
gpt4 key购买 nike

我刚刚进入代码帝国,我遇到了一个我根本不明白的问题。有人可以为此做一个 ELI5 吗?我什至不确定从哪里开始制作这个功能。这就是问题:

您将获得一个正数作为字符串以及它的基数。您的函数应将其转换为十进制形式。基数小于 37 且大于 1。该任务使用数字和字母 A-Z 作为字符串。

注意数字无法转换的情况。例如:“1A”不能用基数 9 转换。对于这些情况,您的函数应该返回 -1。

输入:两个参数。一个数字作为字符串,一个基数作为一个整数。

输出:转换后的数字为整数。

例子:

convert("AF", 16) == 175
convert("101", 2) == 5
convert("101", 5) == 26
convert("Z", 36) == 35
convert("AB", 10) == -1

它究竟在问什么?我对数基知之甚少,无法对此有丝毫把握。

最佳答案

我们的数字系统以 10 为基数。您可以使用 10 个可能的数字来表示数字,即 0-9。达到 9 后,您需要一个额外的数字来表示更大的数字 (10)。

当然,其他系统也是可能的。一些著名的:

  • 基数 2(“二进制”):只有数字是 0 和 1。一旦达到 2,您需要更多数字(10)。
  • 基数 8(“八进制”):只有数字是 0-7。一旦你达到 8,你需要更多的数字(10)。

  • 也有大于 10 的基数。因为我们通常没有这些数字的数字,所以我们用字母来代替。这里最常见的是基数 16(又名“十六进制”),它使用 0-9 后跟 A-F,其中 A=10,B=11,依此类推到 F=15。一旦你达到 16,你需要更多的数字 (10)。

    当我们说“Base N”时,“N”是基数(来自数学的技术术语)。对于存在歧义的情况,您需要基数。例如,我刚刚向您展示了 '10' 可以代表的四个不同数字,具体取决于您使用的基数。(实际上,您可能已经注意到,如果您像我在这里一样遵循常规约定,'10'始终表示与您正在使用的基数相对应的数字:二进制 2、八进制 8、十六进制 16 等)

    您还可以根据数字过多进行一些推断。例如,“2”不是基数 2(二进制)中的有效数字,因为唯一的有效数字是 0 和 1。同样,“1A”不能以基数 9 表示,因为必然只有 0- 8.在您至少达到 11 基数之前,不需要“A”。

    希望有帮助。

    关于python-3.x - 使用基数将字符串转换为十进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35638220/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com