转换加扰字母表

时间:2012-08-09 13:20:51

标签: python

我需要输入一个加扰的字母表并将其转换为A-Z字母表。

我想我需要将这些更改为整数。

知道如何获取加扰输入并将其更改为整数吗?

更新:

这是我到目前为止编写的代码。我不能使用已发布的内置函数,必须是我们已经学过的东西。

如果用户输入为:

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()

2 个答案:

答案 0 :(得分:8)

由于这是一个家庭作业问题,我只提示您可以使用的功能轻松实现此功能:查看string.maketrans()str.translate()

答案 1 :(得分:1)

要获取特定字符的ASCII编号,您可以使用ord()

print ord("a") => 97

然后,您可以操纵此值,并使用chr()转换回ASCII字符。

print chr(98) => "b"

这应该会给你一个良好的开端。您可以查看所有ASCII字符编号here