2016-05-04 15 views
-1

メッセージを暗号化するための再帰関数を書く必要があります。 すべての小文字を次の文字に変換します(zはaに変換されます)。 これはこれまでの私のコードですが、私は遠くへ行く方法やエラーを修正する方法がわかりません。再帰を使用してメッセージを暗号化する、Python

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)) 
+0

あなたが再帰するとき、 'ord(...)+ 1'を' sentence'パラメータとして渡しています。 – mgilson

+0

'ord'は整数を返し、この整数を' sentence'として渡しています。整数は何かのリストではありません。 5 [2]は意味をなさない。 –

答えて

0

私はあなたのコードを修正しました。

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) 
関連する問題