Python Bin、Dec、Hex 字符串标识符和转换器的代码

Python Code for Bin, Dec, Hex string Identifier & Converter

我需要 Python 代码将数字作为字符串输入,并 检测 是二进制、十进制还是十六进制。

此外,我想将其转换为其他两种类型而不使用bin()、dec()、hex(), int() 命令。

这将告诉您输入字符串是 bin、dec 还是 hex

注意:根据 steffano 的评论,您将不得不编写更多内容来对 10 这样的数字进行分类——它可以是 bin/dec/hex。只有以下功能之一应该评估为真,否则你错了。尝试把这张支票。

import re

def isBinary(strNum):
    keyword = "^[0-1]*$"
    re.compile(keyword)
    if(re.match(keyword, strNum)) :
        return True
    else : 
        return False

def isDecimal(strNum):
    keyword = "^[0-9]*$"
    re.compile(keyword)
    if(re.match(keyword, strNum)) :
        return True
    else : 
        return False

def isHexa(strNum):
    keyword = "^[0-9a-fA-f]*$"
    re.compile(keyword)
    if(re.match(keyword, strNum)) :
        return True
    else : 
        return False
#Tests
print isHexa("AAD");
print isDecimal("11B")
print isBinary("0110a")

此输出:

True
False
False
if my_num[0:2] == "0x" or my_num[0] == "x":print "hex"
elif my_num[0:2] == "0b" or my_num[0] == "b" and all(x in "01" for x in my_num):print "bin"
elif my_num[0] in "0O": print "oct"
elif re.match("^[0-9]+$",my_num): print "dec"
else: print "I dont know i guess its just a string ... or maybe base64"

是一种方式...