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 に答える