Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
503 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  Comment trouvez vous ce code ? [résolus]

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

Comment trouvez vous ce code ? [résolus]

n°754058
lascapi
Ouvrez les yeux, les bons ; )
Posté le 06-06-2004 à 20:07:25  profilanswer
 

Bonjour je viens de finir mon premier micro programme en python et j'aimerais avoir l'avis de programmeurs expérimentés.
Voici le code  :
 

Code :
  1. # ce programme test une chaine et met un espace et
  2. # une majuscule apres un point
  3. import string
  4. # i est le compteur pour les caracteres de la chaine
  5. i = 0
  6. exp = """Attention . ceci est un exemple.et oui il y a des.fautes de.frappe."""
  7. print "Entrez au moins une phrases avec plusieurs points."
  8. print "Exemple : "
  9. print exp
  10. str = raw_input()
  11. if str == "":  # si aucune chaine n'est rentre, exp est utilise
  12. str = exp
  13. if str[0]<> string.upper(str[0]):  # si la premiere lettre n'est pas une Maj
  14. str = string.upper(str[0]) + str[1:]
  15. for i in range(len(str)):
  16. if str[i] == ".":
  17.  if i + 1 <= len(str) and str[i+1] == " ":
  18.   if i + 2 <= len(str) and str[i+2] <> string.upper(str[i+2]):
  19.    str = str[:i+2] + string.upper(str[i+2]) + str[i+3:]
  20.  else:
  21.   str = str[:i+1] + " " + string.upper(str[i+1]) + str[i+2:]
  22. print str


 
Pensez-vous que j'ai utillisé les meilleures methodes, le code est-il clair?


Message édité par lascapi le 02-07-2004 à 12:21:22

---------------
Evoluons bien, mais surtout : trouvons la vérité ...
mood
Publicité
Posté le 06-06-2004 à 20:07:25  profilanswer
 

n°754081
Taz
bisounours-codeur
Posté le 06-06-2004 à 20:48:17  profilanswer
 

l'algo me parait foireux
 
non il est pas très clair, et sans doute trop compliqué : déjà je comparerait pas plages plutot que par caractère. on s'y perds en plus avec tout ce que tu fais avec str QUI EST UN MOT RESERVE D'AILLEURS :o. et pas la peine d'utiliser le module string "minuscule".upper() et voilà :o  et surtout, le ferait un "chaine".split('.') et pour chaque morceau sauf le premier, je mets l'espace et la majuscule, et après je ".".join(..)

n°754153
burgergold
5$? va chez l'diable!
Posté le 06-06-2004 à 22:05:13  profilanswer
 

mets ton code dans les balises de code du forum, splulisiblecommeca


---------------
http://www.boincstats.com/signature/user_664861.gif
n°754155
lascapi
Ouvrez les yeux, les bons ; )
Posté le 06-06-2004 à 22:08:05  profilanswer
 

Ouais c'est vrai qu'il est pas trés clair, je l'ai fait à l'arrache, mais ca marche.
Ceci dis, je vois pas ce qu'est une plage et comment faire pour programmer ça ?
Je vais modifié le "str" de suite bien que cela ne met pas posé de problème jusqu'à présent.
Bon le "sting".join() si j'ai bien compris c'est pour joindre deux listes??? Or je voulais éviter de travailler avec des listes et rester avec des chaines. Et le "chaine".split('.') c'est quoi je l'ai pas trouvé dans la doc que j'ai. Ca rajoute le "." ???
Bon d'accord j'ai pas trop chercher mais vus que je suis pas trop anglophone, le nombre de site est vite limité... Si vous en avez des bon avec une doc costaud. Merci
En fait je n'est pas compris la nuance, à par ne pas utiliser string.upper("..." ) mais seulement upper("..." ).
Je vous remercie d'avance de votre pascience .


---------------
Evoluons bien, mais surtout : trouvons la vérité ...
n°754156
lascapi
Ouvrez les yeux, les bons ; )
Posté le 06-06-2004 à 22:09:24  profilanswer
 

Pour les balise de code c'est comment ? Elles n'y sont pas sur la boite à outil.


---------------
Evoluons bien, mais surtout : trouvons la vérité ...
n°754159
burgergold
5$? va chez l'diable!
Posté le 06-06-2004 à 22:12:44  profilanswer
 

c'est à codé des balises de gras, italique et compagnie quand tu post


---------------
http://www.boincstats.com/signature/user_664861.gif
n°754252
lascapi
Ouvrez les yeux, les bons ; )
Posté le 06-06-2004 à 23:28:51  profilanswer
 

OK c'est rectifié. Merci


---------------
Evoluons bien, mais surtout : trouvons la vérité ...
n°754282
lascapi
Ouvrez les yeux, les bons ; )
Posté le 07-06-2004 à 00:10:26  profilanswer
 

Voila j'ai rectifié ce que j'ai compris, pour le reste il faudra un peu plus d'explication ou de temp.

Code :
  1. # ce programme test une chaine et met un espace et
  2. # une majuscule apres un point
  3. from string import upper
  4. i = 0
  5. exp = """Attention . ceci est un exemple.et oui il y a des.fautes de.frappe."""
  6. print "Entrez au moins une phrases avec plusieurs points."
  7. print "Exemple : "
  8. print exp
  9. chaine = raw_input()
  10. if chaine == "": 
  11. chaine = exp
  12. if chaine[0]<> upper(chaine[0]): 
  13. chaine = upper(chaine[0]) + chaine[1:] # elle le devient
  14. for i in range(len(chaine)): 
  15. if chaine[i] == ".": 
  16.  if i + 1 <= len(chaine) and chaine[i+1] == " ":                    if i + 2 <= len(chaine) and chaine[i+2] <> upper(chaine[i+2]): 
  17.    chaine = chaine[:i+2] + upper(chaine[i+2]) + chaine[i+3:]
  18.  else:
  19.   chaine = chaine[:i+1] + " " + upper(chaine[i+1]) + chaine[i+2:]
  20. print chaine


J'espere que vous parvenez à lire le code,si il est trop foireux je peux le commenter encore.


Message édité par lascapi le 07-06-2004 à 09:42:24

---------------
Evoluons bien, mais surtout : trouvons la vérité ...
n°754327
Taz
bisounours-codeur
Posté le 07-06-2004 à 08:26:45  profilanswer
 

t'es commentaires sont foireux et flingue la lisibilité. et tu n'as pas applicuqé que ce que je t'ai dit

n°754371
lascapi
Ouvrez les yeux, les bons ; )
Posté le 07-06-2004 à 09:41:08  profilanswer
 

Ok rectification pour les commentaire (moi on m'avais dis d'en mettre...)
Mais pour le reste je n'est pas compris donc je peux pas faire de modification. C'est pas de la mauvaise volonté.
J'ai quand même commencé un autre algorytme, je le poste dés que possible.


---------------
Evoluons bien, mais surtout : trouvons la vérité ...
mood
Publicité
Posté le 07-06-2004 à 09:41:08  profilanswer
 

n°754604
masklinn
í dag viðrar vel til loftárása
Posté le 07-06-2004 à 12:47:49  profilanswer
 

lascapi a écrit :

Ok rectification pour les commentaire (moi on m'avais dis d'en mettre...)
Mais pour le reste je n'est pas compris donc je peux pas faire de modification. C'est pas de la mauvaise volonté.
J'ai quand même commencé un autre algorytme, je le poste dés que possible.


"chaine".split('.'), ca permet de creer une liste de strings en creant un nouveau string a chaque fois que le caractere '.' est rencontre dans "chaine".
 
"#".join(liste), ca te rend la concatenation de tous les strings presents dans la liste, avec la chaine "#" entre chacun des objets (c'est l'inverse de split quoi)
 
Pour les docs, Python a un truc vachement bien fait, les docstrings.
Si tu veux vraiment te simplifier la vie, telecharges wxPython (s'facile a trouver), et lance pyCrust, ensuite pour voire les fonctions relatives aux chaines tu tapes  
>>> "".
et ca va derouler un menu avec tous les membres des strings, ensuite tu en selectionne un, tu ajoutes une parentheses et tu lis le DOCSTRING
tu peux faire ca de maniere plus propre (la c'est un peu porc), mais ca ca te permet de tester la fonctionalite au passage

n°754876
lascapi
Ouvrez les yeux, les bons ; )
Posté le 07-06-2004 à 14:47:10  profilanswer
 

Super,merci Masklinn.
J'ai compris comment ca marche. J'ai même réecris le code , mais maintenant cela m'enleve les points et ne me mets pas de majuscule donc il faut que je le retravail.
Voici le code  

Code :
  1. # ce programme test une chaine et met un espace et
  2. # une majuscule apres un point
  3. from string import upper
  4. exp = """Attention . ceci est un exemple.et oui il y a des.fautes de.frappe."""
  5. print "Entrez au moins une phrases avec plusieurs points."
  6. print "Exemple : "
  7. print exp
  8. chaine = raw_input()
  9. if chaine == "":  # si aucune chaine n'est rentre, exp est utilise
  10. chaine = exp
  11. if chaine[0]<> upper(chaine[0]): 
  12. chaine = upper(chaine[0]) + chaine[1:]
  13. listdechaine = chaine.split("." )
  14. chaine = ". ".join(listdechaine)   
  15.        
  16. print chaine


C'est vrai que c'est plus clair. :)
 
edit : en fait j'ai trouvé comment remettre les points, trop simple, il ne me reste plus que les majuscules... :??:


Message édité par lascapi le 07-06-2004 à 15:00:23
n°755165
lascapi
Ouvrez les yeux, les bons ; )
Posté le 07-06-2004 à 17:34:51  profilanswer
 

Je pensez faire une boucle du genre :

Code :
  1. listdechaine = chaine.split("." )
  2. for ch in listdechaine:
  3. if len(ch) > 1:
  4.  ch = upper(ch[0])+ch[1:]
  5. chaine = ". ".join(listdechaine)


Mais une telle boucle ne change rien  :pfff:  
Comment faire... telle est la question.


---------------
Evoluons bien, mais surtout : trouvons la vérité ...
n°755222
le_GLu
Posté le 07-06-2004 à 18:47:58  profilanswer
 

bonjour,
 

lascapi a écrit :

Je pensez faire une boucle du genre :

Code :
  1. listdechaine = chaine.split("." )
  2. for ch in listdechaine:
  3. if len(ch) > 1:
  4.  ch = upper(ch[0])+ch[1:]
  5. chaine = ". ".join(listdechaine)


Mais une telle boucle ne change rien  :pfff:  
Comment faire... telle est la question.


 
premierement tu fais une boucle sur une copie des éléments de ta liste mais pas sur la liste elle-même, utilise par exemple :
 

Code :
  1. for i in range(0, len(listdechaine)-1)
  2.     if len(listdechaine[i]) > 1 :
  3.         listdechaine[i] = upper(listdechaine[i][0]) + listdechaine[i][1:]


 
il y a sans doute d'autres méthodes.
 
deuxiemement si ta chaine ne doit comporter qu'une capitale et des miniuscules ensuite tu peux utiliser la méthode capitalize des chaines.
 
Lionel


---------------
Python facile : http://pythonfacile.free.fr/ Les ressources (liens) en français sur Python.
n°755249
lascapi
Ouvrez les yeux, les bons ; )
Posté le 07-06-2004 à 18:58:33  profilanswer
 

C'est bien ce que je pensais, il y avait un bug dans ma boucle, je l'ai donc completé :

Code :
  1. listdechaine = chaine.split("." )
  2. listech=[]
  3. for ch in listdechaine:
  4. if len(ch) > 1:
  5.  ch = upper(ch[0])+ch[1:]
  6.  listech.append(ch)
  7. chaine = ". ".join(listech)


La, ça marche, mais il y a un cas ou ça ne marche pas, c'est quand il y a deja un  espace entre le point et la lettre suivante... C'est normal vus qu'il met l'espace en majuscule et pas la lettre. Il faut donc je pense faire une autre boucle mais je n'ai pas encore l'idée.
 
En tout cas merci le_Glu pour ton exemple clair et précis je vais le tester de ce pas, mais quand même, j'ai encore une petite question :  
la "méthode capitallize des chaines" ce n'est pas upper() ?
Qu'apporte telle de plus ?
 
Mince ne répondez pas tous de suite il faut d'abord que j'aille voir sur la doc par moi même  :D
 
edit : j'ai remplacé list par listech.  
Sorry Taz


Message édité par lascapi le 07-06-2004 à 20:50:22

---------------
Evoluons bien, mais surtout : trouvons la vérité ...
n°755363
Taz
bisounours-codeur
Posté le 07-06-2004 à 20:10:13  profilanswer
 

list=[]
 
putain mais list aussi c'est un mot réservé :o

n°755424
lascapi
Ouvrez les yeux, les bons ; )
Posté le 07-06-2004 à 20:48:29  profilanswer
 

:( Ha mince encore.
Ou peut-on voir les mots reservés (et à quoi ça sert vus que même si je les utilise "autrement" ça marche)?
Je rectifie ça immédiatement.


---------------
Evoluons bien, mais surtout : trouvons la vérité ...
n°755427
Taz
bisounours-codeur
Posté le 07-06-2004 à 20:51:57  profilanswer
 

python.org

n°755429
lascapi
Ouvrez les yeux, les bons ; )
Posté le 07-06-2004 à 20:53:43  profilanswer
 

Et en francais ?
Je suis peut-etre ch.;:,:t mais je m'excuse je ne suis pas encore anglophone, d'où incompréhension du site qui est en anglais.


---------------
Evoluons bien, mais surtout : trouvons la vérité ...
n°755433
Taz
bisounours-codeur
Posté le 07-06-2004 à 20:55:58  profilanswer
 

ben t'achète un livre ou tu utilise un éditeur qui te mets les mots réservés d'une couleur spéciale

n°755494
lascapi
Ouvrez les yeux, les bons ; )
Posté le 07-06-2004 à 21:45:28  profilanswer
 

Ok bon conseil. Mais en attendant je n'est rien trouver, j'ai même chercher sur python.org... mais si je n'ai rien trouvé la c'est que je ne lis pas l'anglais...


---------------
Evoluons bien, mais surtout : trouvons la vérité ...
n°755571
Taz
bisounours-codeur
Posté le 07-06-2004 à 22:52:39  profilanswer
 

ben alors apprendre l'anglais d'abord

n°755937
masklinn
í dag viðrar vel til loftárása
Posté le 08-06-2004 à 10:39:27  profilanswer
 

ditto
 
Faire de la programmation sans comprendre l'anglais c'est du suicide, parce que 99.9% des docs, exemples et bases de connaissances sont en anglais et que la majorite des langages se basent sur l'anglais pour la creation de leurs commandes/items

n°756982
le_GLu
Posté le 08-06-2004 à 18:58:11  profilanswer
 

bonjour,
 

lascapi a écrit :


En tout cas merci le_Glu pour ton exemple clair et précis je vais le tester de ce pas, mais quand même, j'ai encore une petite question :  
la "méthode capitallize des chaines" ce n'est pas upper() ?
Qu'apporte telle de plus ?
 


la méthode capitalize met la premiere lettre d'une chaine en majuscule et  
toutes les autres en minuscules.
 
le_Glu


---------------
Python facile : http://pythonfacile.free.fr/ Les ressources (liens) en français sur Python.
n°759257
lascapi
Ouvrez les yeux, les bons ; )
Posté le 10-06-2004 à 14:42:55  profilanswer
 

Ouah c'est super simple, Je vais essayé de le finir cet aprem, comme ca je pourrai me consacré entièrement au Bac...
En tout cas merci a tous, c'est à dire à :
Masklinn
Taz
le_GLu
Masklinn
Burgergold
Et je voulais félicité particulièrement le_Glu pour ses explications claire et aimable.
Bon pour le "Prog final" je le fait et .... et voila quoi : |
 
 
; )
 
edit : oups Masklinn y est deux fois....Alors je rajoute les autres ; Merci encore à Taz,le_Glu, et Burgergold ;)  


Message édité par lascapi le 10-06-2004 à 22:43:11

---------------
Evoluons bien, mais surtout : trouvons la vérité ...
n°759450
lascapi
Ouvrez les yeux, les bons ; )
Posté le 10-06-2004 à 16:47:39  profilanswer
 

Voila, j'ai profité de la retouche pour rajouter deux boucles qui enlèvent les espaces de trop avant et après le point.

Code :
  1. # ce programme test une chaine et met un espace et
  2. # une majuscule apres un point
  3. from string import upper
  4. from string import capitalize
  5. i = 0
  6. exp = """Attention ..     ceci est un exemple.et oui il y a des.fautes de.frappe."""
  7. print "Entrez au moins une phrases avec plusieurs points."
  8. print "Exemple : "
  9. print exp
  10. chaine = raw_input()
  11. if chaine == "": 
  12. chaine = exp
  13. if chaine[0]<> upper(chaine[0]): 
  14. chaine = upper(chaine[0]) + chaine[1:]
  15. listdechaine = chaine.split("." )
  16. lench = len(listdechaine)
  17. for i in range(0, lench):
  18. for j in range(0, lench):
  19.  if len(listdechaine[i])>1 and listdechaine[i][0]==" ":
  20.   listdechaine[i]=listdechaine[i][1:]
  21. for i in range(0, lench):
  22. for j in range(0, lench):
  23.  if len(listdechaine[i])>1 and listdechaine[i][len(listdechaine[i])-1]==" ":
  24.   listdechaine[i]=listdechaine[i][:len(listdechaine[i])-1]
  25. for i in range(0, lench):
  26. listdechaine[i]=listdechaine[i].capitalize()
  27. chaine = ". ".join(listdechaine)   
  28.        
  29. print chaine


Voila... :)  
Je suis contant :D , j'ai écris mon premier programme avec Python...
Maintenant il ne me reste qu'a faire l'interface graphique. Quel environement conseillez-vous pour programmé sous Mac OS X ??? :hello:


Message édité par lascapi le 10-06-2004 à 16:48:28

---------------
Evoluons bien, mais surtout : trouvons la vérité ...
n°759471
Taz
bisounours-codeur
Posté le 10-06-2004 à 16:57:53  profilanswer
 

[:len(listdechaine[i])-1] [:rofl]

n°759477
lascapi
Ouvrez les yeux, les bons ; )
Posté le 10-06-2004 à 16:59:54  profilanswer
 

Qu'est-ce qui a de drole????
 
edit : en tout cas j'aime trop ce smiley mortderire


Message édité par lascapi le 10-06-2004 à 22:39:40

---------------
Evoluons bien, mais surtout : trouvons la vérité ...
n°759487
Taz
bisounours-codeur
Posté le 10-06-2004 à 17:03:56  profilanswer
 

-1

n°759525
masklinn
í dag viðrar vel til loftárása
Posté le 10-06-2004 à 17:25:34  profilanswer
 

Un peu complique ton prog quand meme, t'es sur qu'il fonctionne?
 
enfin bon.
 
commentaires
 
pas besoin d'importer la lib string si tu ne l'appelles pas, faire "".upper() ca marche sans rien importer.
str est un string, donc au lieu de faire string.upper(str) tu peux faire str.upper(). Code plus clair et moins de possibilites de conneries
 

Code :
  1. if str == "":
  2.      str = exp


Une chaine vide, comme tout objet python vide, est considere comme faux au niveau booleen, tu peux donc remplacer par

Code :
  1. if not str:
  2.     str = exp


mais bon c'est pas tres important
 

Code :
  1. if str[0]<> string.upper(str[0]):
  2.      str = string.upper(str[0]) + str[1:]


remplace par

Code :
  1. str.capitalize()


Ca fait la meme chose (1ere lettre en maj le reste en minuscules)
 
Ensuite on vire tous les espaces presents en plus d'1 exemplaire:

Code :
  1. " ".join(str.split())

n°759853
lascapi
Ouvrez les yeux, les bons ; )
Posté le 10-06-2004 à 22:47:26  profilanswer
 

Encore des révélation, c'est trop bien, je retient surtout la dernière astuce qui me fera économiser 4 lignes de codes, pour la str.capitalize() je l'ai corrigé, pour l'astuce de la chaine vide, je retient mais pour plus tard quand je serai habitué à ce concept.


Message édité par lascapi le 10-06-2004 à 22:50:49

---------------
Evoluons bien, mais surtout : trouvons la vérité ...
n°759872
lascapi
Ouvrez les yeux, les bons ; )
Posté le 10-06-2004 à 23:11:03  profilanswer
 

WaOUh, c'est trop bien la programmation, surtout quand on est aider par des boss  :wahoo:  
Bon j'espere que maintenant tout le monde sera contant :  

Code :
  1. # ce programme test une chaine et met un espace et
  2. # une majuscule apres un point
  3. exp = """attention ..     ceci est un exEmple.et oui il y a des.Fautes de.frappe."""
  4. print "Entrez au moins une phrases avec plusieurs points."
  5. print "Exemple : "
  6. print exp
  7. chaine = raw_input()
  8. if chaine == "": 
  9. chaine = exp
  10. listdechaine = chaine.split("." )
  11. for i in range(0, len(listdechaine)):
  12. listdechaine[i]=" ".join(listdechaine[i].split())
  13. for i in range(0, len(listdechaine)):
  14. listdechaine[i]=listdechaine[i].capitalize()
  15. chaine = ". ".join(listdechaine)   
  16.        
  17. print chaine


Voila ce que je pense à l'heure actuel (il est 23h04) le plus "beau" code possible pour faire ce que je lui demande de faire. :jap:  
C'est trop bien de programmer, ceci dis je repose ma question : Pour programmer l'interface... quel environement prendre (sous Mac Os X ; je ne sait pas si ca change quelque chose...)  ???
 
Edit : Voici le résultat du programme

Code :
  1. Entrez au moins une phrases avec plusieurs points.
  2. Exemple :
  3. attention ..     ceci est un exEmple.et oui il y a des.Fautes de.frappe.
  4. Attention. . Ceci est un exemple. Et oui il y a des. Fautes de. Frappe.


Message édité par lascapi le 11-06-2004 à 09:33:18

---------------
Evoluons bien, mais surtout : trouvons la vérité ...
n°760397
masklinn
í dag viðrar vel til loftárása
Posté le 11-06-2004 à 13:39:25  profilanswer
 

GUI: je te recommandes wxPython
 
C'est tres simple, facile a programmer meme sans RAD, et compatible Windows, Mac et *nix.
En plus, l'allure des programmes est parfaitement semblables aux programmes "natifs": lancer un programme wxPython sous windows donne l'impression de lancer un programme windows, mais le lancer sous MacOS donne l'impression de lancer un programme specialement fait pour Mac
 
(wxPython est un port sous Python de wxWindows/wxWidgest, GUI multiplateformes C/C++)

n°760426
nico168
Posté le 11-06-2004 à 14:05:42  profilanswer
 

# ce programme test une chaine et met un espace et  
# une majuscule apres un point ET VIRE LES AUTRES
 
c'est vrai que resoudre un pb en modifiant son énoncé est pratique :)


Message édité par nico168 le 11-06-2004 à 14:07:38
n°761124
erich
Posté le 12-06-2004 à 09:47:07  profilanswer
 

Salut lascapi, tu as bien progressé dans ton code, mais ...
 
Il peut peut etre encore plus "beau" et en une seule ligne ..
 

Code :
  1. if chaine == "": 
  2.      chaine = exp
  3.    
  4. chaine='. '.join( [i.strip().capitalize() for i in chaine.split('.')])
  5.            
  6. print chaine


 
allez,
a+
Eric

n°761311
lascapi
Ouvrez les yeux, les bons ; )
Posté le 12-06-2004 à 17:16:16  profilanswer
 

RereWaouh Merci pour wxPython, je m'y met de suite.
Et merci pour LA ligne de code ; ça me rappel les fonctions Lambda ou quelque chose comme ca ??? En tout cas j'essaye de comprendre et je change ça : )


---------------
Evoluons bien, mais surtout : trouvons la vérité ...
n°784391
lascapi
Ouvrez les yeux, les bons ; )
Posté le 02-07-2004 à 10:09:24  profilanswer
 

Et que pensez vous de Tkinter ?


---------------
Evoluons bien, mais surtout : trouvons la vérité ...
n°784551
SomeBugsIn​Me
life suxx
Posté le 02-07-2004 à 11:17:09  profilanswer
 

lascapi a écrit :

Et que pensez vous de Tkinter ?


 
Pour faire un truc simple (une fenêtre, 2-3 boutons...), ça va. Mais si ton appli est plus conséquente, ça rame trop.
 
Je m'en suis servi pour des petites applis (en Tcl ou en Python). L'avantage c'est que Tkinter est très simple à utiliser donc pratique pour faire des prototypes...

n°784695
chaica
Posté le 02-07-2004 à 12:08:32  profilanswer
 

Bon ptite question. Suite à ce topic je me suis dit utilisons les regex. J'ai trouvé la correspondance mais je n'arrive pas à effectuer le remplacement en utilisant les références arrières
 
Voici un truc qui tourne:

Code :
  1. #!/usr/bin/python
  2. import re
  3. import sys
  4. import string
  5. chaine = ''
  6. chaine = string.join( sys.argv[ 1: ]  )
  7. resultat = re.sub( r'(\.[\w])', r'\1', chaine)
  8. print resultat


 
Lors du remplacement je remets ce que j'ai trouvé pour pas que ça plante.
 
Et moi je travaille sur ce code mais je bloque:

Code :
  1. #!/usr/bin/python
  2. import re
  3. import sys
  4. import string
  5. chaine = ''
  6. chaine = string.join( sys.argv[ 1: ]  )
  7. resultat = re.sub( r'(\.[\w])', r'\1'[1].upper(), chaine)
  8. print resultat


 
Mais j'ai des erreurs, il me dit que r'\1' est une string mais elle contient pas ce que j'attends bref je vois pas trop.

n°784865
chaica
Posté le 02-07-2004 à 14:08:15  profilanswer
 

up

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  Comment trouvez vous ce code ? [résolus]

 

Sujets relatifs
Insérer Code HTML par script.[php] erreur dans le code
nb de ligne de code maxi dans outlook express 6NB DE LIGNE DE CODE MAXI DANS OUTLOOK EXPRESS 6
[c]Code format d'un double %f ou %lf ? Ou avoir + d'info sur long?générer un diagramme de classe a partir du code source
[VBA] Ouvrir une base de données par le code ?un même code sur toutes les pages
Programme pour faire du C++ (code + design)Je cherche le code de __FUNCTION__
Plus de sujets relatifs à : Comment trouvez vous ce code ? [résolus]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR