Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用递归加密消息,python_Python_Recursion_Encryption - Fatal编程技术网

使用递归加密消息,python

使用递归加密消息,python,python,recursion,encryption,Python,Recursion,Encryption,我需要编写一个递归函数来加密消息 在python中将所有小写字符转换为下一个字符(z转换为a)。 到目前为止,这是我的代码,但我不知道如何进一步,或者如何更正错误 sentence = input("Enter a message: \n") letter_number = 0 def encrypt_sentence (s, number): if letter_number == len(sentence) - 1: return(s) else:

我需要编写一个递归函数来加密消息 在python中将所有小写字符转换为下一个字符(z转换为a)。 到目前为止,这是我的代码,但我不知道如何进一步,或者如何更正错误

sentence = input("Enter a message: \n")
letter_number = 0

def encrypt_sentence (s, number):
    if letter_number == len(sentence) - 1:
       return(s)
    else:
        if s[letter_number] == chr(122):
            return encrypt_sentence(chr(ord(s[letter_number])-25), letter_number + 1)
        else:
            return encrypt_sentence(chr(ord(s[letter_number])+1), letter_number + 1)

print("Encrypted message")
print(encrypt_sentence(sentence, letter_number))

我已经修复了你的代码,现在它可以工作了

sentence = input("Enter a message: \n")
letter_number = 0

def encrypt_sentence (sentence):
    if sentence:
        if sentence == chr(122):
            return chr(ord(sentence[letter_number])-25)
        else:
            return chr(ord(sentence[letter_number])+1)
print("Encrypted message")
ris = ''
for word in sentence:
    ris += encrypt_sentence(word)
print(ris)

当您递归时,您将
ord(…)+1
作为
语句
参数传递。
ord
返回一个整数,您将此整数作为
语句
传递。整数不是某事物的列表;5[2]没有意义。