2

スクランブルされたアルファベットを入力して、AZ アルファベットに変換する必要があります。

これらを整数に変更する必要があると思います。

スクランブルされた入力を取得して整数に変更する方法はありますか?

アップデート:

これまでに書いたコードは次のとおりです。投稿された組み込み関数を使用できません。これは、既に学習したものに違いありません。

ユーザー入力が次の場合:

VNKW KW BO 1WV WJHFJV BJWWXEJ!

目的の出力は次のとおりです。

THIS IS MY 1ST SECRET MESSAGE

import random

def main():
    encrypt = [" "] * 26   #all letters available

    for numbah in range(26):
        letter = chr(numbah+65)
        print (letter, end="")
        # find position for number
        notfound = True
        while notfound:
            position = random.randint(0, 25)
            if encrypt[position] == " ":
                notfound = False
        encrypt[position] = letter

    print("\nScrambled: ", end="")
    for numbah in range(26):
        print(encrypt[numbah], end="")
    print("\n\n ")

    msg=input("Please input the scrambled alphabet in order: ")

    print("Now input the scrambled message:  " + msg)
    print("Your unscrambled message reads: ", end="")
    for alpha in msg.upper():
        if alpha < "A" or alpha > "Z":
            print(alpha,end="")
        else:
            print(encrypt[ ord(alpha) - 65 ], end="")

main()
4

2 に答える 2

8

これは宿題の質問なので、これを簡単に実装するために使用できる関数を紹介するだけです: と を見てstring.maketrans()くださいstr.translate()

于 2012-08-09T13:22:30.123 に答える
1

特定の文字の ASCII 番号を取得するには、 を使用できますord()

print ord("a") => 97

その後、この値を操作し、 を使用して ASCII 文字に戻すことができますchr()

print chr(98) => "b"

これにより、有利なスタートが切れるはずです。ここですべての ASCII 文字番号を表示できます。

于 2012-08-09T13:40:30.967 に答える