大家好,我现在是python的新手,我正在尝试编写一个用户可以输入消息的程序,输出将显示消息的数字代码,但同时我需要编写附加文件的数字代码。
例如,用户输入单词“Hello” 用户将看到输出“72 101 108 108 111”
现在输出也应该复制到标记为我的“EncryptedMessage.txt”的外部文档中
这些数字被写入文件夹,但它们之间没有空格,所以当我把它放在解码器中时它不会解码,无论如何我在它们之间有空格吗?
我的编码示例。
def main():
outfile = open("EncryptedMessage.txt", "w")
messgage = " "
message = raw_input("Enter a message: ")
for ch in message:
ascii = ord(ch)
outfile.write(str(ascii) )
print ascii,
outfile.close()
对不起,我对编程术语不太满意。
答案 0 :(得分:5)
你可以在没有循环的情况下使用Python列表理解和连接方法来添加ascii值之间的空格。
" ".join([str(ord(c)) for c in message])
这将计算为由空格分隔的ascii值字符串。
答案 1 :(得分:2)
只需手动添加空格:
outfile.write(str(ascii) + " ")
答案 2 :(得分:0)
请记住,cobbal的回答会在文件末尾添加额外的空间。您可以使用以下方式将其剥离:
s.rstrip(str(ascii))