我想打印出一个变量作为上标。我做了很多研究,很多人使用Unicode方法。类似于print("word\u00b2")
,其中2将是上标。但是,我想用一个变量替换2。这些是我尝试过的方法
print("word\u00b{variable}")
print("word\u00b{}".format(variable))
print("word\u00b%s" % variable)
当然还有反斜杠
print("word\u00b\{variable}")
print("word\u00b\{}".format(variable))
print("word\u00b\%s" % variable)
我也尝试过类似的方法
variable = variable.decode(u\"u00b")
以上这些都不起作用,
(unicode error) 'unicodeescape' codec can't decode bytes in position 5-9: truncated \uXXXX escape
一些帮助将不胜感激。
答案 0 :(得分:1)
转义码\u00b2
是单个字符;你想要类似的东西
>>> print(eval(r'"\u00b' + str(2) + '"'))
²
令人费解地减少
>>> print(chr(0x00b2))
²
这仅适用于上标2和3。 other Unicode superscripts are in a different code block。
>>> for i in range(10):
... if i == 1:
... print(chr(0x00b9))
... elif 2 <= i <= 3:
... print(chr(0x00b0 + i))
... else:
... print(chr(0x2070 + i))
⁰
¹
²
³
⁴
⁵
⁶
⁷
⁸
⁹
答案 1 :(得分:1)
如果您希望整个变量都上标,则必须使用string = "snip active cleared snip..." # skip or remove because contains cleared
string2 = "snip owasp..... php , devops" # save it because contains owasp
格式。如果您尝试%
,它将仅在第一个字母或数字上标,因为它使用方括号将.format()
内的数字分组。
我这样写我的代码:
$$
这样,您不必调用Unicode。我发现此方法适用于图形标题,轴标题,图形图例。
我希望这会有所帮助!