我正在尝试编写代码以可读形式打印化学方程式。除了下标,我还有其他所有部分。我知道下标的范围为1到9,十六进制代码为0x2081-0x2089。
如果用户输入O_2,它将把所需的2附加到十六进制以创建0x2082,为我提供下标2。但是,我无法将字符串'0x2082'转换为chr的可用类型。
uni = '0x208'
el = input("Enter element (with optional underscore): ")
if ('_' in el):
end = str(el[len(el)-1])
hex_code = uni + end
print(hex_code)
sub = chr(int(hex_code))
任何指向我正确方向的事情都会受到赞赏。
答案 0 :(得分:0)
这有效:
In [1]: chr(0x2082)
Out[1]: '₂'
所以您要做的就是这样:
text = 'O_2' # take from user input
subzero = 0x2080
subchr = chr(subzero + int(text[-1]))