Я относительно новичок в Python, и в настоящее время я пытаюсь создать базовый конвертер (чтобы можно было ввести число в базе 10 и получить вывод этого числа в шестнадцатеричном или двоичном виде или так далее). Чтобы добавить ясность в мою программу, я пытался использовать данные юникода, в частности символы в u+208
- u+209
, чтобы печатать номера индексов, чтобы пользователь знал, в какой базе находится номер, когда он печатается.Как печатать строки Unicode Variable?
Мой код до сих пор это:
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 является строка, что я пытаюсь преобразовать в Юникод, чтобы число индексных для новой базы для печати (так что, если я ввожу 2 в базе десять, выход может быть напечатан как 1 с индексом два). То, что я делал, - это просто написать кучу операторов IF для проверки того, что nBase равно 1,2,3 и т. Д. но это очень громоздко. Обычно, чтобы печатать каждый индекс, оператор печати будет (u '\u208x
') (при этом x является любым индексом, который вы хотите распечатать в форме 0-9). Вышеупомянутый код - это моя попытка создать строку юникода, которая является (u '\u208x
'), причем x является nBase. Без функции декодирования назначение подбазы как «u» + «\ u» ... ... печатает литеральную строку u '\u208x
'. В противном случае возникает ошибка, при которой суббаза не имеет атрибута «decode». Как я могу заставить его печатать индексный номер из unicode с переменным, не используя массу операторов IF, если есть способ вообще?
К сожалению, я имел в виду 2 в базе 10 будет 10 в базе 2. – Benji