Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1593 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]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
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]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody

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-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR