Besoin d'aide en prog
10lexique
-
sebsauvage Messages postés 33415 Statut Modérateur -
sebsauvage Messages postés 33415 Statut Modérateur -
Bonjour, je cher a créé un programme qui mélange l'ordre des lettres des mot d'une phrase.
je m'explique :
"Sleon une edtue de l'Uvinertise de Cmabrigde, l'odrre des ltteers dnas un mtos n'a pas d'ipmrotncae, la suele coshe ipmrotnate est que la pmeirere et la dreneire soit a la bnnoe pclae.
Le rsete peut erte dnas un dserorde ttoal et vuos puoevz tujoruos lrie snas porlbleme.
C'est prace que le creaveu hmauin ne lit pas chuaqe ltetre elle-mmee, mias le mot cmome un tuot."
Voila c'est pour cette raison que mon prog me serai utile pour convertire de gardn texte pour des étude avec des dyslexiques et fonction du temps de lecture .
Je pence que le programme ne doit pas etre tres dure a faire avec des fonction strcat strcpy ou autre, seulement je suis nul en programmation, si qqn pouvait m'aider ce serait sympat !
Je conte sur vous !
je m'explique :
"Sleon une edtue de l'Uvinertise de Cmabrigde, l'odrre des ltteers dnas un mtos n'a pas d'ipmrotncae, la suele coshe ipmrotnate est que la pmeirere et la dreneire soit a la bnnoe pclae.
Le rsete peut erte dnas un dserorde ttoal et vuos puoevz tujoruos lrie snas porlbleme.
C'est prace que le creaveu hmauin ne lit pas chuaqe ltetre elle-mmee, mias le mot cmome un tuot."
Voila c'est pour cette raison que mon prog me serai utile pour convertire de gardn texte pour des étude avec des dyslexiques et fonction du temps de lecture .
Je pence que le programme ne doit pas etre tres dure a faire avec des fonction strcat strcpy ou autre, seulement je suis nul en programmation, si qqn pouvait m'aider ce serait sympat !
Je conte sur vous !
A voir également:
- Besoin d'aide en prog
- Robot prog - Télécharger - Édition & Programmation
- Clear prog - Télécharger - Sécurité
- Recherche petit prog autre que paint ✓ - Forum Windows
- Memoire insuffisante pour éxécuter ce prog... - Forum Matériel & Système
- Décocher la case : toujours utiliser ce prog ✓ - Forum Windows
11 réponses
J'ai afit une erreu dans ma demande, ilfaut que la premiere et la derniere lettre soit a la bonne place donc on s'embete pas avec les mot - ou = a 3 lettres ... merci de votre aide j'ai besoin de vous !
salut,
en quel langauge
l'algo
- recherche espace
- couper ce qui il a avant l espace
- prendre la taille de ce qu on a couper
-si <=3 on fait rien
- sinon melange dans une boucle for on change de place les caracteres de 1 à taille -2 le reste ne bougeant pas (tu melange comme tu veux inversion une sur 2 ou on retourne le mot as u wish)
- on place le resultat dans une nouvelle chaine
en quel langauge
l'algo
- recherche espace
- couper ce qui il a avant l espace
- prendre la taille de ce qu on a couper
-si <=3 on fait rien
- sinon melange dans une boucle for on change de place les caracteres de 1 à taille -2 le reste ne bougeant pas (tu melange comme tu veux inversion une sur 2 ou on retourne le mot as u wish)
- on place le resultat dans une nouvelle chaine
ca a l'aire bien ce que tu dit, seulement moi j'y connais rien le language est celui que vous voulez visual basic c c++ ça m'est égale .... mais faite comme si vous parlier a un bébé de 4 ans car j'y connais RIEN enfin, je sais comiler un source cPP c tout !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Comme dit seb :) . Ton truc est fesable avec a peu pres tout les langages de programmation ... je crois que mm avec les tuto de ce site tu peux en apprendre assez pour le creer ... A la limite tu peux mm le faire en JavaScript .. .ca sera pas vraiment un prog mais ca marchera tout aussi bien
Eternel Questionneur. Seul et Unique membre de la : SPdLM
=> Société Protectrice des Langages Maltraités
Eternel Questionneur. Seul et Unique membre de la : SPdLM
=> Société Protectrice des Langages Maltraités
Bon c'est pas parfait et pas fignolé, mais ça fonctionne.
Le programme en Python:
Et ça donne par exemple:
"Le furom de CommneCtaMarhce est lbriemnet ovuert puor permetrte
au puls gnard nmrobe de discuetr lirbmeent sur des sjuets
cconerannt l'niofrmtaique et les nouvleles technoolgsie.
Touetfsoi, aifn de gaarntir la meilelure quiatlé dnas les
écnhaegs et de proégetr les utlisiaeturs des msseaegs insultatns
ou inapprporiés dus'aegrs idénlciats, le froum est modréé a
posetriori, ce qui siginife que des peosrnnes accérditeés (els
moérdtaeurs) ont la psoisiblité de suppriemr les msesages ne se
cofonmrant pas à la préesnte cathre. "
Le programme en Python:
#!/usr/bin/python
# -*- coding: iso-8859-1 -*-
t = """
Le forum de CommentCaMarche est librement ouvert pour permettre au plus grand nombre de discuter librement sur des sujets
concernant l'informatique et les nouvelles technologies. Toutefois, afin de garantir la meilleure qualité dans les
échanges et de protéger les utilisateurs des messages insultants ou inappropriés d'usagers indélicats, le forum est
modéré a posteriori, ce qui signifie que des personnes accréditées (les modérateurs) ont la possibilité de supprimer
les messages ne se conformant pas à la présente charte.
"""
import random
textefinal = ""
for ligne in t.split("\n"):
for mot in ligne.split(" "):
mot = mot.strip()
if len(mot)>3:
lettres = list(mot)
for nb in range(3):
i = random.randint(1,len(lettres)-2)
(lettres[i],lettres[i+1]) = (lettres[i+1],lettres[i])
mot = "".join(lettres)
textefinal = textefinal + mot + " "
textefinal = textefinal + "\n"
print textefinal
Et ça donne par exemple:
"Le furom de CommneCtaMarhce est lbriemnet ovuert puor permetrte
au puls gnard nmrobe de discuetr lirbmeent sur des sjuets
cconerannt l'niofrmtaique et les nouvleles technoolgsie.
Touetfsoi, aifn de gaarntir la meilelure quiatlé dnas les
écnhaegs et de proégetr les utlisiaeturs des msseaegs insultatns
ou inapprporiés dus'aegrs idénlciats, le froum est modréé a
posetriori, ce qui siginife que des peosrnnes accérditeés (els
moérdtaeurs) ont la psoisiblité de suppriemr les msesages ne se
cofonmrant pas à la préesnte cathre. "
J'interprete le script avec IDLE (python GUI), afin de formater le texte et melanger les lettres, seulement j'ai un probléme avec la premiére et la derniére lettre. j'obtien ça :
"Le fuomr de ComnmetaCMarche est libremetn ovuter puor peremtter au psul grdna nomerb de dsiutcer lbirenmet sur des sjuets
conecnrnat l'fniormatique et les nouvelles tcehnooliges. Tuotefois, aifn de garatnir la milleeure qualtié dsna les
échangse et de poértger les utilisuaters des messagse insultanst ou ianpprporiés d'usagres inédlciat,s le frmou est
mordéé a posteirori, ce qui sginfiie que des perosnesn accréditées (sel modérateu)sr ont la possbiliiét de supprmier
les messaegs ne se conorfamnt pas à la presénte crhat.e"
je pence qu'il y a un probleme d'interpretation ...
comment puis je utiliser le script sans ce bug ? je vien de telecharger la derniere vertion de python !
"Le fuomr de ComnmetaCMarche est libremetn ovuter puor peremtter au psul grdna nomerb de dsiutcer lbirenmet sur des sjuets
conecnrnat l'fniormatique et les nouvelles tcehnooliges. Tuotefois, aifn de garatnir la milleeure qualtié dsna les
échangse et de poértger les utilisuaters des messagse insultanst ou ianpprporiés d'usagres inédlciat,s le frmou est
mordéé a posteirori, ce qui sginfiie que des perosnesn accréditées (sel modérateu)sr ont la possbiliiét de supprmier
les messaegs ne se conorfamnt pas à la presénte crhat.e"
je pence qu'il y a un probleme d'interpretation ...
comment puis je utiliser le script sans ce bug ? je vien de telecharger la derniere vertion de python !
j'ai remplacé la ligne "i = random.randint(1,len(lettres)-2)"
par la ligne "i = random.randint(1,len(lettres)-3)"
Et ca marche ... pourtant j'ai afit ça au hasard !
si qqn a le temps il pourait m'expliqué !!
Merci a vous pour toute l'aide que vous m'avez aporté ! Je vous remerci du fodn du coeur !!!!!!!!!!!!!
par la ligne "i = random.randint(1,len(lettres)-3)"
Et ca marche ... pourtant j'ai afit ça au hasard !
si qqn a le temps il pourait m'expliqué !!
Merci a vous pour toute l'aide que vous m'avez aporté ! Je vous remerci du fodn du coeur !!!!!!!!!!!!!
Je peux expliquer le programme:
for ligne in t.split("\n"):
t.split("\n") découpe le texte en lignes.
Ensuite, on boucle sur cette liste de lignes ("ligne" prend successivement la valeur de chaque ligne).
for mot in ligne.split(" "):
Même principe: pour chaque mot de la ligne.
mot = mot.strip()
On retire d'éventuels espace devant et derrière le mot.
if len(mot)>3:
On ne modifie que les mots supérieurs à 3 lettres.
lettres = list(mot)
On récupère la liste des lettres constituant ce mot.
for nb in range(3):
On va effectuer 3 interversions de lettres
i = random.randint(1,len(lettres)-2)
On choisit un lettre au hasard dans ce mot.
(lettres[i],lettres[i+1]) = (lettres[i+1],lettres[i])
On intervertis cette lettre avec la lettre suivante.
mot = "".join(lettres)
On réassemble la liste de lettre pour reformer le mot.
textefinal = textefinal + mot + " "
On ajoute ce mot au texte.
textefinal = textefinal + "\n"
Et enfin on remet le retour à la ligne.
(Sous Windows, utiliser plutôt "\r\n" à la place de "\n")
print textefinal
On affiche le texte final.
for ligne in t.split("\n"):
t.split("\n") découpe le texte en lignes.
Ensuite, on boucle sur cette liste de lignes ("ligne" prend successivement la valeur de chaque ligne).
for mot in ligne.split(" "):
Même principe: pour chaque mot de la ligne.
mot = mot.strip()
On retire d'éventuels espace devant et derrière le mot.
if len(mot)>3:
On ne modifie que les mots supérieurs à 3 lettres.
lettres = list(mot)
On récupère la liste des lettres constituant ce mot.
for nb in range(3):
On va effectuer 3 interversions de lettres
i = random.randint(1,len(lettres)-2)
On choisit un lettre au hasard dans ce mot.
(lettres[i],lettres[i+1]) = (lettres[i+1],lettres[i])
On intervertis cette lettre avec la lettre suivante.
mot = "".join(lettres)
On réassemble la liste de lettre pour reformer le mot.
textefinal = textefinal + mot + " "
On ajoute ce mot au texte.
textefinal = textefinal + "\n"
Et enfin on remet le retour à la ligne.
(Sous Windows, utiliser plutôt "\r\n" à la place de "\n")
print textefinal
On affiche le texte final.