Верхний индекс для переменной в Python - PullRequest
0 голосов
/ 18 сентября 2018

Я хочу распечатать переменную как верхний индекс. Я провел много исследований, и многие люди используют метод 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

Будет полезна некоторая помощь.

1 Ответ

0 голосов
/ 18 сентября 2018

Экранирующий код \u00b2 представляет собой один символ; Вы хотите что-то вроде

>>> print(eval(r'"\u00b' + str(2) + '"'))
²

Менее запутанно,

>>> print(chr(0x00b2))
²

Это работает только для верхних индексов 2 и 3; другие верхние индексы Unicode находятся в другом блоке кода .

>>> for i in range(10):
...   if i == 1:
...     print(chr(0x00b9))
...   elif 2 <= i <= 3:
...     print(chr(0x00b0 + i))
...   else:
...     print(chr(0x2070 + i))
⁰
¹
²
³
⁴
⁵
⁶
⁷
⁸
⁹
...