0

大家好,我目前是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()

抱歉,我不太擅长编程术语。

4

3 回答 3

5

您可以在没有循环的情况下使用 Python 列表理解和 join 方法在 ascii 值之间添加空格。

" ".join([str(ord(c)) for c in message])

这将评估为由空格分隔的一串 ascii 值。

于 2009-10-04T22:10:23.757 回答
3

只需手动添加一个空格:

outfile.write(str(ascii) + " ")
于 2009-10-04T21:45:43.413 回答
0

请记住,cobbal 的答案会在文件末尾添加一个额外的空间。您可以使用以下方法将其剥离:

s.rstrip(str(ascii))
于 2009-10-04T21:53:45.207 回答