Obtenir la position d'un caractère dans l'alphabet
Je suis sûr à 90% il y a un construit en fonction qui fait cela.
J'ai besoin de trouver la position d'un caractère dans l'alphabet. Ainsi, le caractère "b" est la position 1 (en comptant à partir de 0), etc. Personne ne sait ce que la fonction est appelée?
Merci d'avance!
EDIT: Ce que j'essaie de faire c'est d'envoyer tous les caractères d'un montant de X "étapes" de retour dans l'alpha bet, donc, si j'ai une chaîne de caractères avec "salut", il serait "gh" si je l'ai envoyé en arrière d'une étape. Il pourrait y avoir une meilleure façon de le faire, des conseils?
Vous devez vous connecter pour publier un commentaire.
Il est appelé
index
. Par exempleRemarque: en Python 3,
string.lowercase
a été renomméstring.ascii_lowercase
.[]
dans la chaîne ou de la liste.>>>string.lowercase[2]
result += newChar
et il imprimeknzcr ne sdws
Y
. Il ne sera pas présent car il n'est pas une minuscule. au lieu destring.lowercase
vous pouvez essayerstring.ascii_letters
print string.index(string.ascii_lowercase, "c")
string.ascii_lowercase.index( "R".lower() ) # --> 17
Sans l'importation
Vous pouvez utiliser ord() pour obtenir un caractère ASCII de position, et chr() pour convertir un ASCII position dans un personnage.
EDIT: mis à Jour pour envelopper alphabet donc a-1 cartes à z et z+1 cartes à un
Par exemple:
Cela va créer une chaîne avec tous les caractères déplacée d'un espace vers l'arrière dans l'alphabet ('ydaqz'). Il ne fonctionne que pour les mots en minuscules.
rdict est un dictionnaire qui est créé par l'intensification par le biais de l'alphabet, un caractère à la fois. Les énumérer fonction renvoie un tuple avec la liste de l'index, et le personnage. On inverse l'ordre par la création d'un nouveau tuple avec ce code:
( x[1], x[0])
puis tournez la liste de tuples dans un dictionnaire. Depuis un dictionnaire est une table de hachage (clé, valeur) structure de données, nous pouvons maintenant, recherchez l'index de l'alphabet caractère.Cependant, ce n'est pas ce que vous voulez résoudre votre problème, et si c'est un devoir en classe, vous auriez probablement obtenir de 0 pour plagiat si vous le soumettre. Pour l'encodage des chaînes de caractères, d'abord créer un DEUXIÈME alphabet qui est organisé de façon à ce que alfa2[n] est la forme codée de l'alfa[n]. Dans votre exemple, le deuxième alphabet serait juste déplacé par deux personnages, mais vous pourriez aussi de façon aléatoire lecture aléatoire de caractères ou d'utiliser un autre motif pour les commander. Tout cela continuera à travailler avec d'autres alphabets de langues telles que le grec, le Cyrillique, etc.
J'ai seulement commencé à apprendre le Python, donc je n'ai aucune idée de comment efficace, c'est par rapport aux autres méthodes, mais il fonctionne. Aussi, il n'a pas d'importance si le texte est en majuscule, minuscule, ou si il n'y a aucune ponctuation, etc.
Si vous voulez changer toutes les lettres:
Travaille aussi pour modifier certains caractères:
Voici un fourre-tout de la méthode qui pourrait être utile pour quelqu'un...