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()and 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 回答