Итак, у меня есть алгоритм, по которому я беру символ, беру его код символа, увеличиваю этот код на переменную и затем печатаю этот новый символ. Однако я бы также хотел, чтобы он работал с символами, не входящими в стандартную таблицу ASCII. В настоящее время он не печатает «специальные» символы, такие как €
(например). Как я могу заставить его печатать определенные специальные символы?
#!/usr/bin/python3
# -*- coding: utf-8 -*-
def generateKey(name):
i = 0
result = ""
for char in name:
newOrd = ord(char) + i
newChar = chr(newOrd)
print(newChar)
result += newChar
i += 1
print("Serial key for name: ", result)
generateKey(input("Enter name: "))
Каждый раз, когда я даю ввод, который заставляет специальные символы (например, |||||
), он отлично работает для первых четырех символов (включая DEL
, где он дает значок прозрачного прямоугольника), но пятый символ (обозначенный как €
) также является символом ошибки, чего я не хочу. Как я могу это исправить?
Вот результат |||||
:
Enter name: |||||
|
}
~
Serial key for name: |}~
Но последний символ должен быть €
, а не пустым. (Кстати, четвертый символ, DEL, становится прозрачным прямоугольником, когда я копирую его в Windows)