TRADUCTEUR LEET SPEAK

aera group Messages postés 382 Date d'inscription mercredi 23 août 2006 Statut Membre Dernière intervention 8 novembre 2010 - 4 nov. 2008 à 17:17
xeolin Messages postés 336 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 8 novembre 2011 - 17 juil. 2009 à 14:28
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/48365-traducteur-leet-speak

xeolin Messages postés 336 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 8 novembre 2011 2
17 juil. 2009 à 14:28
de plus ton script est buggé !!!!
# elif (phrase[i] == 'U') or (phrase[i] == 'u'):
# r = randrange(1,4)
# if r == 1:
# x = x + '(_)'
# if r == 1:
# x = x + '|_|'
# if r == 3:
# x = x + 'v'
# if r == 4:
# x = x + ']_|'

# elif (phrase[i] == 'V') or (phrase[i] == 'v'):
# r = randrange(1,3)
# if r == 1:
# x = x + '\\/'
# if r == 1:
# x = x + '1/'
# if r == 1:
# x = x + '|/'

Tu n'as même pas pris la peine de te relire !!!!!
Il y a plein de fautes de frappes !!!!!!
xeolin Messages postés 336 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 8 novembre 2011 2
20 nov. 2008 à 22:11
Hum Je suis capable d'écrire la mm chose en 5 minutes. Tu sais comment ? Avec un dictionnaire...

Mais bon, si tu veux un moyen d'apprendre tu as le fabuleux li vre de Gerard Swimen "apprendre a programmer avec python", et si simplement tu voulais un logiciel pour ecrire en l33t, tu as l33k3y qui est une extention de firefox...

Xeolin

1/10
+4 pts pour tencourager
aera group Messages postés 382 Date d'inscription mercredi 23 août 2006 Statut Membre Dernière intervention 8 novembre 2010 18
10 nov. 2008 à 23:10
Il s'agit bien ici d'un algorithme : il y a un vrai travail de réflection et un certain nombre d'opérations logiques succécive en vu de résoudre un problème (définition certe basique mais correcte). L'utilisation de teste à la suite est la manière la plus rapide pour le micro d'exécuté ce programme en un minimum de variables (bien que je pense on peut faire mieu sur ce dernier point : à étudier ...) ; L'utilisation de Dictinaire et de boucle est plus long car plus complexe, mais beaucoup plus élangant et efficace.

Les régles obselettes d'algorithmie ne sont pas obligatoire, ns ne sommes pas en Pascal ! Tu fait de la programmation orienté objet, utilise tt sont potentiel et oublie l'algorithmie ...
wkenw Messages postés 19 Date d'inscription mardi 30 septembre 2008 Statut Membre Dernière intervention 3 août 2009
10 nov. 2008 à 13:41
salut

perso, je ne vois pas vraiment d'algorithmique ici... Mais comme aera group l'écrit, mieux faut créer des fonctions.

Ce que tu pourrais faire aussi, c'est utiliser des dictionnaires.
Par ex :
dico = {'X':( '><', '}{', 'ecks', ')('),
'Z':( '2', '7_')}
Cette structure me parait très adaptée ici, puisque tout ton programme se résumerait alors à :

from random import randrange

def convert2leet(txt):
dico = {} # je te laisse compléter...
x=''
for car in txt:
r = randrange(1,dico[car.upper()])
x += dico[car][r]
return x

phrase = raw_input()
print conveert2leet(phrase)

A+
hazkaal Messages postés 67 Date d'inscription dimanche 4 février 2007 Statut Membre Dernière intervention 4 novembre 2008
4 nov. 2008 à 17:47
Salut !

Et merci pour ton commentaire !
Je vais essayer de faire dans le sens inverse alors :) traduction de leet à 'européen'.
Et aussi pourquoi pas relancer le programme une fois terminé (avec une question à l'utilisateur).

Je vais essayer de faire tout ceci !

Merci encore !
aera group Messages postés 382 Date d'inscription mercredi 23 août 2006 Statut Membre Dernière intervention 8 novembre 2010 18
4 nov. 2008 à 17:17
Bonjour,

Bien, ta source ne contient pas d'erreur ni de bug apparat. Ton programme réalise en effet l'objectif que tu t'es fixé, à savoir : "récupérer une chaîne de caractère et de la tranformer en language leetspeak". Sur un plan purement algorithmique, ça vaux un 10/10.

Mais, malheureusement, nous ne faisons pas de l'algorithmie (oui, je suis un peu fâcher avec les algorithme, j'ai des cour "d'informatique" qui sont en faite des cour d'algorithmie ridicule où j'ai un prof qui se crois très malin avec ces arbres et qui ne sais même pas ce qu'est un langage orienté objet, mais passons sur ma vie personnel ...) et regardons un peu l'utilisation de ta source :

Pas de phrase pour guider l'utilisateur et pas de fonctions pour traduire dans l'autre sens dommage...
Il y a pourtant des chose à faire, comme par exemple utiliser des listes et des tuples pour la correspondance entre les lettres et les symboles. De plus après une traduction, le programme s'arrête là encore c'est dommage, une boucle "infini" (oui, je met "infini" entre guillemets car d'après mon prof sa n'existe pas ou alors sinon c'est une erreur de syntaxe, même si je fais remarquer que votre microprocesseur à un programme qui tourne en boucle :p) suffirait à résoudre se problème avec à la fin une question pour quitter le programme

Mon conseil : Pense à l'utilisateur, dis toi que tes programmes ne sont pas là juste pour montrer à tous le monde ce que tu sais faire, mais pour être utiliser. Même si ton programme n'a d'utilité pour personne imagine qu'il en ait une et fait en sorte qu'un éventuel utilisateur puisse utiliser convenablement ton programme. Tes codes prendrons une autre dimension, on pourrait dire que ce sont des logiciels et plus de simples algorithmes bidons ...

Ta source vaut bien un 7/10, j'attends de voir si tu ne l'améliore pas, qui sais, elle peu devenir bien plus intéressante.

Bon courage et n'oublies pas de penser à l'utilisateur. Ciao ...
Rejoignez-nous