2017-09-22 5 views
1

J'ai écrit du code lorsque l'entrée est par exemple "a" il retourne "h". Mais comment je peux le faire fonctionner si je veux retourner tableau de caractères, par exemple si l'entrée "aa" pour retourner "hh"?Comment retourner un tableau de caractères dans le programme cypher (python3)

def input(s): 
    for i in range(len(s)): 
     ci = (ord(s[i])-90)%26+97 
     s = "".join(chr(ci)) 
    return s 
+0

Bonjour et bienvenue dans StackOverflow. S'il vous plaît se référer à https://stackoverflow.com/help/how-to-ask sur la façon de poser une bonne question et d'améliorer la vôtre selon les directives. –

Répondre

1

Ne jamais utiliser les noms intégrés comme input

l = [] 


def input_x(s): 
    for i in s: 
     i = (ord(i)-90)%26+97 
     l.append(chr(i)) 
    s = ''.join(l) 
    return s 
+0

Merci pour vos conseils et pour le code mate. –

0
def input_x(s): 
    result = "" 
    for i in s: 
     ci = (ord(i)-90)%26+ 97 
     result += chr(ci) 
    print(result) 
0

Vous pouvez utiliser des chaînes pour le faire. Ma variable finaloutput est une chaîne que je vais utiliser pour stocker tous les caractères mis à jour.

def foo(s): 
    finaloutput = '' 
    for i in s: 
     finaloutput += chr((ord(i)-90)%26+97) 
    return finaloutput 

Ce code utilise la concaténation de chaînes pour ajouter ensemble une série de caractères. Puisque les chaînes sont des itérables, vous pouvez utiliser la boucle for montrée ci-dessus au lieu de celle complexe que vous avez utilisée.

+0

Merci Arunav. –