- Creer pros python leet speak sans replace et dictio
- Créer un compte gmail - Guide
- Créer un compte google - Guide
- Créer un groupe whatsapp - Guide
- Créer un compte instagram sur google - Guide
- Créer une adresse hotmail - Guide
11 réponses
6 nov. 2022 à 15:43
Bonjour,
Pas de liste, de dictionnaire et de replace. Donc on va utiliser des chaines de caractères, différentes boucles et la position des caractères dans la chaine.
def leet(chaine): orig="STAELO" code="574310" chcod="" for i in range for j in range ... return chcod print(leet("nuage")) print(leet("cette lettre"))
Je suppose qu'on n'a pas droit aux tuple ni à index pour mal faire ...
Indice: la boucle intérieure sert à trouver la position du caractère à enccoder.
Sais-tu comment trouver rapidement si un caractère est dans une chaîne?
6 nov. 2022 à 18:14
Bonsoir Pierrot, j'ai lis ta réponse et nan je sais pas comment faire.
j'ai donc essayer un autre code que j'ai fait; peut tu me dire ou est-ce que j'ai fait des erreur, sur le code on me met cela
File "C:\Users\Cooler Master\Desktop\tp nsi\test leetspeak2.py", line 28
return Trad
^
IndentationError: unindent does not match any outer indentation level
le code est en bas
trad=''
A=input('Taper Votre Phrase Pour La Traduire En Language Leet ')
for k in A :
if k=='S' or k=='s':
Trad+='S'
elif k=='T' or k=='t':
Trad+='7'
elif k=='A' or k=='a':
Trad+='4'
elif k=='E' or k=='e':
Trad+='3'
elif k=='L' or k=="l":
Trad+='1'
elif k=='O' or k=='o':
Trad+='0'
else:
Trad+=k
return Trad
Modifié le 6 nov. 2022 à 18:28
oui c'est aussi une possibilité. Mais on attend d'un programmeur une solution un peu plus sophistiquée ;-)
Formellement ta solution comporte des erreurs :
- trad='', non Trad=''
- Trad+='S' non Trad+='5'
- return s'utilise quand on a une fonction, initialisée par def fonction().
Enfin on peut simplifier les tests :
if k.upper()=='S':
Dans ton second code, je ne vois pas la ligne def ...
Où est la fonction?
Si tu n'as pas de fonction, tu n'as pas besoin de return.
Sinon, l'erreur veut dire que le return ne commence pas dans la bonne colonne.
Pour le "S", tu ne convertis pas en "5"
Tu as utilisé print au début ...
6 nov. 2022 à 19:35
du coup re bonsoir il manque un dernière chose, quand je le lance cela me met 'Taper Votre Phrase Pour La Traduire En Language Leet'
trad=''
A=input('Taper Votre Phrase Pour La Traduire En Language Leet')
for k in A :
if k=='S' or k=='s':
trad+='5'
elif k=='T' or k=='t':
trad+='7'
elif k=='A' or k=='a':
trad+='4'
elif k=='E' or k=='e':
trad+='3'
elif k=='L' or k=='l':
trad+='1'
elif k=='O' or k=='o':
trad+='0'
else:
trad+=k
print('A')
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question6 nov. 2022 à 19:42
print('A') ??? print(trad)
6 nov. 2022 à 20:04
bon la je suis dans une incompréhension totale
Traceback (most recent call last):
File "<console>", line 1, in <module>
NameError: name 'iooi' is not defined
trad=''
A=input('Taper Votre Phrase Pour La Traduire En Language Leet')
for k in A :
if k=='S' or k=='s':
trad+='5'
elif k=='T' or k=='t':
trad+='7'
elif k=='A' or k=='a':
trad+='4'
elif k=='E' or k=='e':
trad+='3'
elif k=='L' or k=='l':
trad+='1'
elif k=='O' or k=='o':
trad+='0'
else:
trad+=k
print('trad')
6 nov. 2022 à 20:15
print(trad) qui est une variable, pas print('trad')
6 nov. 2022 à 20:23
du coup j'ai ressayer avec print(trad)
Python 3.8.13 (default, Mar 28 2022, 06:59:08) on Windows (64 bits).
This is the Pyzo interpreter with integrated event loop for ASYNCIO.
Type 'help' for help, type '?' for a list of *magic* commands.
Running script: "C:\Users\Cooler Master\Desktop\tp nsi\test leetspeak2.py"
Taper Votre Phrase Pour La Traduire En Language Leet
>>> nuage
Traceback (most recent call last):
File "<console>", line 1, in <module>
NameError: name 'nuage' is not defined
>>>
6 nov. 2022 à 20:26
je ne sais pas j'utilise python avec l'environnement IDLE et le code fonctionne
on dirait que c'est comme si tu tapais nuage dans la console
6 nov. 2022 à 20:32
oui j'ai belle et bien tapais nuage, j'ai essayer avec notpad+ et visualstudio mais visiblement ca ne marche pas
Es-tu certain que c'est le code que tu as exécuté que tu nous montres ici?
Il y a une difféerence entre:
print('trad')
et
print(trad)
Afficher une chaîne, ce n'est pas comme afficher une variable.
7 nov. 2022 à 09:09
Utilise une fonction
def leet(A): trad='' for k in A : if k=='S' or k=='s': trad+='5' elif k=='T' or k=='t': trad+='7' elif k=='A' or k=='a': trad+='4' elif k=='E' or k=='e': trad+='3' elif k=='L' or k=='l': trad+='1' elif k=='O' or k=='o': trad+='0' else: trad+=k return trad print("nuage =",leet("nuage")) print("cette lettre =",leet("cette lettre"))
7 nov. 2022 à 11:17
Bonjour,
As-tu le droit d'utiliser les listes ?
Ça pourrait donner ceci:
substitutions = [['a','4'],['e','3'],['l','1'],['o','0'],['t','7']] for s in substitutions: c1,c2 = s[0], s[1] trad = trad.replace(c1,c2)
7 nov. 2022 à 11:22
Tu as tout faux ;-)
L’utilisation de la méthode replace est interdite ici. L’utilisation des listes ou des dictionnaires est aussi interdite.
7 nov. 2022 à 11:53
Salut jee_pee,
Ah, exact !
je me disais aussi ...
ça aurait été trop simple :-)
7 nov. 2022 à 12:35
Du coup bonjour à tous j'essayer de coder le programme et je crois avoir réussi et il est un peu simplet mais marche
def leet():
Trad=''
A=input('Taper votre pharase pour la mettre en leet speak')
for k in A :
if k =='S':
Trad+='5'
elif k =='T':
Trad+='7'
elif k =='A':
Trad+='4'
elif k =='E':
Trad+='3'
elif k =='L':
Trad+='1'
elif k =='O':
Trad+='0'
else:
Trad+=k
return Trad
print(leet())
7 nov. 2022 à 12:54
mais ne fonctionne pas si tu saisis le texte en minuscule
Voici un code simple (non coloré, désolé)
Je n'ai même pas utilisé les méthodes lower ou upper
-
def leet():
text = input("Entrez le texte à modifier ")
lettres = "SsTtAaLlOo"
codes = "5577441100"
trad = ""
for c in text:
for i in range(len(codes)):
if c == lettres[i]:
c = codes[i]
trad += c
return trad
print(leet())
6 nov. 2022 à 16:08
re bonjour merci de ta pris de temps mais j'ai une question, quand je lance le programme cela me met
File "C:\Users\Cooler Master\Desktop\tp nsi\Test leetspeak.py", line 5
for i in range
^
SyntaxError: invalid syntax
et je voudrais savoir comment régler.
6 nov. 2022 à 16:24
c'était un début de code, il faut que tu complètes
6 nov. 2022 à 16:28
une boucle sur la longueur de chaine, on traite le caractère chaine[i] une boucle sur la longueur orig on compare chaine[i] à orig[j]