我正在为家庭作业制作凯撒密码。我想我需要写的东西都打出来了。
但我确实有个问题。
我越来越
none
在代码中:
def fancy_caesar(message, keyword, true_false_statement):
count = 0
while count == 0:
true_false_statement = str(input("Type True if you want to encrypt.\nType false if you want to decrypt: "))
if true_false_statement == 'true' or true_false_statement == 'True' or true_false_statement == 't' or true_false_statement == 'T':
count = count + 1
elif true_false_statement == 'false' or true_false_statement == 'False' or true_false_statement == 'F' or true_false_statement == 'f':
count = count + 1
else:
print('None')
alphabet = 'abcdefghijklmnopqrstuvwxyz'
translated_message = ""
keyword_index = 0
for character in message:
if character in alphabet:
number = alphabet.find(character)
if true_false_statement == 'true' or true_false_statement == 'True' or true_false_statement == 't' or true_false_statement == 'T':
number = number + (ord(keyword[keyword_index]) - ord('a'))
elif true_false_statement == 'false' or true_false_statement == 'False' or true_false_statement == 'F' or true_false_statement == 'f':
number = number - (ord(keyword[keyword_index])) - ord('a')
keyword_index += 1
keyword_index = keyword_index % len(keyword)
if number >= len(alphabet):
number = number - len(alphabet)
elif number < 0:
number = number + len(alphabet)
translated_message = translated_message + alphabet[number]
else:
translated_message = translated_message + character
return translated_message
def main():
message = input("Enter string you want to encrypt/decrypt: ")
keyword = input('Keyword for encryption: ')
true_false_statement = ''
translated_message = fancy_caesar(message, keyword,true_false_statement)
print(translated_message)
main()
当我进入
message
输入“树懒”,我明白了
没有一个
而不是“tlruh”。
有办法解决这个问题吗?