我只是试图从一个文件中读取加密并显示它。你知道吗
我想逐字显示结果,但不知怎么的,空格被删除了(我的dict也包含“”:“”),结果文本不带空格显示。你知道吗
例如
aa bb cc是我从文件中读到的
电流输出是ffggğ,但我希望它是ffggğ
…请帮忙。。。你知道吗
monocrypt = {
'a': 'f',
'b': 'g',
'c': 'ğ',
'ç': 'h',
'd': 'ı',
'e': 'i',
'f': 'j',
'g': 'k',
'ğ': 'l',
'h': 'm',
'ı': 'n',
'i': 'o',
'j': 'ö',
'k': 'p',
'l': 'r',
'm': 's',
'n': 'ş',
'o': 't',
'ö': 'u',
'p': 'ü',
'r': 'v',
's': 'y',
'ş': 'z',
't': 'a',
'u': 'b',
'ü': 'c',
'v': 'ç',
'y': 'd',
'z': 'e',
' ': ' ',
}
inv_monocrypt = {}
for key, value in monocrypt.items():
inv_monocrypt[value] = key
f = open("C:\\Hobbit.txt","r")
print("Reading file...")
message = f.read()
crypt = ''.join(i for i in message if i.isalnum())
encrypted_message = []
for letter in crypt:
encrypted_message.append(monocrypt[letter.lower()])
print(''.join(encrypted_message))
检查文档: http://docs.python.org/2/library/stdtypes.html#str.isalnum
isalnum会把你的空格去掉。你知道吗
如果要保留空格字符,请使用此选项,其他所有字符保持不变:
如果要保留所有空白,请执行以下操作:
我不确定它是否按预期工作,因为我没有霍比特人.txt但我做了一个小的重写,使代码更简单一点。它也应该解决你的问题。你知道吗
你在这一步删除了所有的空白
所以把它们都留在那里。将
dict.get
与默认参数一起使用可以保留不是键的字母如果你真的只想保留空格(而不是标点符号/其他空格等)
你可以这样简化一下
相关问题 更多 >
编程相关推荐