【发布时间】:2023-03-14 19:20:01
【问题描述】:
我完全是编程初学者,所以请原谅我的错误。
我正在尝试创建一个 Python 程序,该程序将 ASCII 文本文件作为输入,然后将每个字符转换为其 ASCII 数值并仅保留它们的奇数结果。最后,我必须对每个字符进行可视化导出,使用 * 作为百分比条(见图)enter image description here。
我已经走到这一步了,
f = open(r"c:\python\7_ASCII\Sample.txt", "r")
result = ' '.join((str(ord(x)) for x in f))
print(f)
这给了我以下错误:
TypeError: ord() expected a character, but string of length 320 found
我尝试了许多方法,例如列表推导,但错误始终出现。
有什么想法吗?
【问题讨论】:
-
将文件读入字符串。遍历字符串并对每个字符执行
ord()。 -
f中的每一个都是代表输入文件每一行的字符串,您需要遍历字符串的每个字符并将其转换为 ASCII 值,这意味着,您缺少一秒钟循环。