【发布时间】:2020-05-05 00:12:24
【问题描述】:
所以,我有一个算法,我获取一个字符,获取其字符代码,将该代码增加一个变量,然后打印该新字符。但是,我也希望它适用于不在默认 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)都可以正常工作,但第五个字符(意味着@ 987654325@) 也是一个错误字符,这不是我想要的。我该如何解决这个问题?
这是||||| 的输出:
Enter name: |||||
|
}
~
Serial key for name: |}~
但最后一个字符应该是€,而不是空白。 (顺便说一句,当我将第四个字符 DEL 复制到 Windows 时,它变成了一个透明矩形)
【问题讨论】:
-
不,实际上不是打印。忘记输出了,抱歉。
-
编辑了@MarkRansom,有帮助吗?
-
这样更好,对问题的描述更完整。我不知道这是否足以解决它。如果您打印
repr(result),您会得到什么?也许您的控制台无法处理该字符或使用缺少它的字体。
标签: python string ascii non-ascii-characters