我目前正在使用python进行凯撒密码。我想给你的是,我该如何使用反转功能?
import string
text = input("Your message: ")
print(text)
alphabet = list(string.ascii_uppercase)
result = ''
for i in list(text.upper()):
if i in alphabet:
result += alphabet[-alphabet.index(i)+25]
else:
result += i
print("Your encoded message is: ",result)
reversed_result = reversed(result)
print("Your decoded message is: ", reversed_result)
reversed()
函数返回一个迭代器。您需要遍历此对象以获取其内容,或将其转换为列表。
您还可以使用切片来反转字符串:
reversed()
注意,这不会反转编码-它只会反转字符串中的字母。您必须编写一个解码功能来对某些内容进行反向编码。由于您的凯撒密码的编码与解码相同,因此您可以执行以下操作:
>>> 'test'[::-1]
'tset'
输出:
import string
alphabet = list(string.ascii_uppercase)
def encode(text):
result = ''
for i in list(text.upper()):
if i in alphabet:
result += alphabet[-alphabet.index(i)+25]
else:
result += i
return result
text = input("Your message: ")
print(text)
print("Your encoded message is: ", encode(text))
print("Your decoded message is: ", encode(encode(text)))