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

  FORUM HardWare.fr
  Programmation
  Python

  [Problème de variables dans des conditions][Python]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Problème de variables dans des conditions][Python]

n°1347765
Kadajj
Posté le 16-04-2006 à 19:34:08  profilanswer
 

Bonjour à tous,
D'abord, Bonne fêtes  
Voila, je vous expose mon problème.
je n'arrive pas à mettre une variable dans une condition de While, ni de IF
ex :
 
 
    Code:
while nbre < lavariable:
[...] le code [...]
if (nbre == lavariable ):  
 
Ce que je veux faire, c'est ouvrir un dictionnaire, dire le nombre de
mots qu'il contient (lavariable) avec un : raw_input et tant que Nombre
< nombre de mots du dico(la variable) , il continue
mais cela ne marche pas.
 
Savez vous pourquoi je ne peux pas placer de variables dans des conditions ?
 
Sinon, je pense peut être me tromper, mais où ?
 
Ce qu'il faut aussi savoir, c'est que "lavariable", ce sont des
nombres, peut être cela joue-t-il une importance ? il faudrait peut
être mettre des caractères spéciaux ?  
Merci d'avance et à bientôt


Message édité par Kadajj le 16-04-2006 à 23:16:50
mood
Publicité
Posté le 16-04-2006 à 19:34:08  profilanswer
 

n°1347887
fafounet
Posté le 16-04-2006 à 22:00:26  profilanswer
 

Donnes ton code qui ne marche pas, là c'est pas compréhensible.
 
Sinon petite exercice : écrire une fonction qui prend en entrée un texte et  qui le retourne en ayant supprimé les lignes vides inutiles.

n°1347921
Kadajj
Posté le 16-04-2006 à 23:23:42  profilanswer
 

le code est :  
 
//// Debut du code ////
 

Code :
  1. print "   Ce tools vous permet de choisir un nom d'utilisateur  "
  2. print "              dans un dico et de le retrouver    "
  3.  
  4. nom = raw_input("Quel est le nom a trouver ? " )
  5. print "le nom a trouver est:" + nom
  6. dico = raw_input("Quel est l'emplacement du dictionnaire? " )
  7. print "L'emplacemement du dictionnaire est: " + dico
  8. nbremax = raw_input("Combien de nombre de noms a t il ? " )
  9. print "Le nombre de mots est de : " + nbremax
  10. print "Le decorticage du nom" + nom + " s'effectue..."
  11.  
  12.  
  13. #ouverture du dico
  14. fichier=open( dico , 'r')
  15. nbre=0
  16. #boucle du decorticage
  17. while nbre < nbremax:
  18.     nbre=nbre+1
  19.     #selection du mot du dico
  20.     mot=fichier.readline()
  21.     mot=mot.rstrip()
  22.  
  23.     #comparaison
  24.     if nom == mot :
  25.         nbre=1252245251452545254524557547754
  26.         #Message de victoire
  27.         print "+++----------------------------------------------+++"
  28.         print "+              Ce nom a ete trouver !!!!           +"
  29.         print "+++----------------------------------------------+++"
  30.         print "Le mot : ",
  31.         print  nom
  32.         print "et sa correspondance est :",
  33.         print  mot
  34.         print "+++----------------------------------------------+++"
  35.  
  36. if nbre == nbremax :
  37.     print "+++----------------------------------------------+++"
  38.     print "+   Nous n'avons pas trouve de correspondance      +"    
  39.     print "+++----------------------------------------------+++"
  40.     print "le nom :",
  41.     print  nom
  42.     print "Essayez un nouveau dictionnaire."
  43.     print "+++----------------------------------------------+++"


 
//// fin du code ////
 
Si je choisis un mot qui ne marche pas, cela ne marche pas : /  
et cela est dû à la variable "nbremax" ... je ne sais pas comment faire pour que personne n'ait à toucher à la source et mettre le nombre total de mot que le dictionnaire contient, Merci d'avance ;)


Message édité par Kadajj le 17-04-2006 à 13:26:08
n°1348062
multani
Dépressionnisé
Posté le 17-04-2006 à 12:41:12  profilanswer
 

Faudrait mettre ton code entre balise [code=python][/code]
 
Et pour ton nombre max, t'en as pas besoin (si j'ai bien compris) : une fois que tu arrives au bout de ton fichier, tu t'arrêtes. Pas besoin de savoir le nombre de lignes du fichier.

n°1348063
multani
Dépressionnisé
Posté le 17-04-2006 à 12:42:50  profilanswer
 

et ya pas besoin de parenthèses pour la condition de tes if.

n°1348076
Kadajj
Posté le 17-04-2006 à 13:26:56  profilanswer
 

Merci de ta réponse mais cela m'aide pas pour la variable nbremax, savez vous comment je peux faire pour qu'elle soit prise en compte ? car sinon le programme cherche le mot sans s'arrêter!

n°1348168
suizokukan
Posté le 17-04-2006 à 15:51:01  profilanswer
 

Il faut que tu reprennes depuis le début la manière dont tu lis le fichier de données.
 
Si celui-ci a cette tête (chaque mot est séparé par un retour à la ligne) :


avalanche
bette
casserole
...


 
tu peux extraire les mots les uns après les autres par :
 

Code :
  1. fichier=open( dico , 'r')
  2. mots = fichier.read().splitlines()
  3. for mot in mots:
  4.     print mot


---------------
rule #1 : trust the python
n°1348206
masklinn
í dag viðrar vel til loftárása
Posté le 17-04-2006 à 17:41:32  profilanswer
 

suizokukan a écrit :

Il faut que tu reprennes depuis le début la manière dont tu lis le fichier de données.
 
Si celui-ci a cette tête (chaque mot est séparé par un retour à la ligne) :


avalanche
bette
casserole
...


 
tu peux extraire les mots les uns après les autres par :
 

Code :
  1. fichier=open( dico , 'r')
  2. mots = fichier.read().splitlines()
  3. for mot in mots:
  4.     print mot



[:pingouino]
Si il a bel et bien un mot par ligne; les gens simples avec un Python moderne vont même faire

Code :
  1. for mot in open(dico):
  2.    print mot


Parce que bon charger le fichier complet en mémoire deux fois de suite j'veux pas être méchant mais c'est un peu nazebroque [:pingouino]


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1348316
suizokukan
Posté le 17-04-2006 à 20:40:41  profilanswer
 

<bruit du singe qui dégringole de l'arbre...>
 
Ah la vache ! je pensais pas qu'on pouvait aller jusque là en Python ! Merci Masklinn.


---------------
rule #1 : trust the python
n°1348434
Kadajj
Posté le 17-04-2006 à 23:39:11  profilanswer
 

Merci de vos réponses mais j'ai trouvé,  
 

Code :
  1. nbremax = raw_input("Combien de nombre de noms a t il ? " )
  2. print "Le nombre de mots est de : " + nbremax


 
par

Code :
  1. nbremax = input("Combien de nombre de noms a t il ?" )


 

mood
Publicité
Posté le 17-04-2006 à 23:39:11  profilanswer
 

n°1348444
multani
Dépressionnisé
Posté le 17-04-2006 à 23:52:24  profilanswer
 

Juste pour être sur : il sert à quoi exactement ce nombre ?

n°1348446
masklinn
í dag viðrar vel til loftárása
Posté le 17-04-2006 à 23:57:23  profilanswer
 

input... lol [:pingouino]


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?

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

  [Problème de variables dans des conditions][Python]

 

Sujets relatifs
Problème de gestion de liste chainéeProblème avec fwrite() : besoin d'un coup de main
Probleme dans FormHandler : FCKeditor ne veut pas de textes longsProblème largeur de balise
probleme de connexion a une base de donnée sur no-sec..Problème de ciblage avec adsense
problème d'affichage sous firefox et safarifirefox ne bascule pas en UTF-8, probleme d'en-tête.
[VBA][Excel] Help ! Problème avec graphiqueTorque : problème de socket réutilisée
Plus de sujets relatifs à : [Problème de variables dans des conditions][Python]


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)