我对Python还比较陌生,目前正在尝试制作一个基转换器(这样就可以在10进制中输入一个数字,并以十六进制或二进制等形式接收该数字的输出)。为了使我的程序更加清晰,我一直在尝试使用unicode数据,特别是u+208
到u+209
中的字符来打印下标数字,以便用户在打印数字时知道数字的基数。你知道吗
到目前为止,我的代码是:
import unicodedata
cNum = int(input("Please enter your number: "))
oBase = int(input("Please enter the base you are converting from. "))
nBase = int(input("Please enter the base are you converting to. "))
baseSub = "u'" + "\\u" + str(2080 + nBase) + "'"
baseSub.decode('utf-8')
print(subBase)
subBase是我正试图转换为unicode的字符串,以允许打印新基的下标号(这样,如果我在十进制中输入2,输出可以打印为1,下标为2)。我一直在做的就是写一堆IF语句来检查nBase是1,2,3,等等,但是这很难。通常,要打印每个下标,print语句应该是(u'\u208x
')(x是从0-9表打印的任何下标)。上面的代码是我试图创建一个unicode字符串(u'\u208x
'),其中x是nBase。如果没有解码功能,将子基赋值为“u”+“\u”。。。打印u'\u208x
'的文本字符串。否则,将出现子基没有“decode”属性的错误。我如何让它从unicode可变地打印一个下标号,而不使用大量IF语句,如果有一种方法可以实现的话?你知道吗
这可以将任何数字转换为其下标代码点:
输出:
但是请注意,输出编码和字体需要支持字符。你知道吗
chr
将数字转换为它的Unicode等价物,U+2080
是十六进制的Unicode码点,因此需要0x2080
而不是2080
。你知道吗相关问题 更多 >
编程相关推荐