有没有办法在 python 中创建 base13 编号系统?
Is there a way to create base13 numbering system in python?
长话短说,我想制作一个程序来识别一组中的 13 张扑克牌,并报告它们是否是同花顺 "from poker"。我的方法是创建一个 base13 编号系统,然后将输入的卡片转换为等效的十进制值,这样我就可以对它们进行计算以确定它们是否满足标准。
这种操作有没有什么著名的算法或者方法?您认为我的方法合理还是我过于复杂了? (考虑到我无法控制接收卡片数据的格式)
当然,基础很简单
alphabet = "A23456789TJQK"
def convert_to_base_13(x):
q,r = divmod(x,13)
if q == 0:
return alphabet[r]
return convert_to_base_13(q) + alphabet[r]
现在您可以将 146 以 13 为基数表示为 "Q4"
虽然我不太确定这对您的纸牌游戏有何帮助
长话短说,我想制作一个程序来识别一组中的 13 张扑克牌,并报告它们是否是同花顺 "from poker"。我的方法是创建一个 base13 编号系统,然后将输入的卡片转换为等效的十进制值,这样我就可以对它们进行计算以确定它们是否满足标准。
这种操作有没有什么著名的算法或者方法?您认为我的方法合理还是我过于复杂了? (考虑到我无法控制接收卡片数据的格式)
当然,基础很简单
alphabet = "A23456789TJQK"
def convert_to_base_13(x):
q,r = divmod(x,13)
if q == 0:
return alphabet[r]
return convert_to_base_13(q) + alphabet[r]
现在您可以将 146 以 13 为基数表示为 "Q4"
虽然我不太确定这对您的纸牌游戏有何帮助