Python problème : NameError: name 's' is not defined
Résolu
moi2937
-
moi2937 Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
moi2937 Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Python error name not defined
- Citizen code python avis - Accueil - Outils
- Fan error lenovo - Forum Refroidissement
- Cmos checksum error ✓ - Forum Carte-mère/mémoire
- Playback error reconnect in 3s (1/5) francais - Forum Box et Streaming vidéo
- Python pix ✓ - Forum Python
25 réponses
je pense que tu devrais de servir de True et False et si ta donner est fausse tu la redemande temps que la donner n'est un chiffre apres je débute en prog donc je suis pas sur c'est une idée
Merci pour cette piste le problème c'est que j'ai plusieurs données, je voudrais que ce soit le cas pour toutes les données. Je ne veux pas écrire un booléen pour chaque variable mais une un booléen pour toutes mes variables... Merci quand même ;)
Bonsoir,
on repose la question tant que la saisie n'est pas un nombre ...
annee_d_etude ='' while(not annee_d_etude.isdigit()): annee_d_etude = input ("Année de l'étude de l'analyse : ")
on repose la question tant que la saisie n'est pas un nombre ...
Merci pour ce retour mais ce bout de script fonctionne uniquement pour la variable: année_d_etude mais si je vais l'automatiser pour toutes mes variables comment faire s'il vous plaît ? Merci d'avance.
moi :-)
moi :-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Que veux tu dire exactement ?
la méthode isdigit() ne s'applique qu'à une seule variable à la fois, il n' y a pas de recette
magique
L'idéal serait de voir ton code complet ....
Ceci dit as-tu remarqué le input en une seule ligne (pas besoin de print avant) ?
la méthode isdigit() ne s'applique qu'à une seule variable à la fois, il n' y a pas de recette
magique
L'idéal serait de voir ton code complet ....
Ceci dit as-tu remarqué le input en une seule ligne (pas besoin de print avant) ?
Comme je disais je souhaiterais que l'utilisateur ne puisse pas écrire de caractères spéciaux ou encore de lettre mais uniquement des chiffres.
Voici mon code :
Merci d'avance,
Moi :)
Voici mon code :
#coding:utf-8 print("Bonjour bienvenu dans le programme de gestion. Ce dernier est un appui à la gestion d'entreprise agricole") print("Veuillez entrer des caractères numériques uniquement") #bloquer les caractères spéciaux et les lettres #suite correcte print ("Année de l'étude de l'analyse") annee_d_etude = input (" ") print ("Age de l'agriculteur") ageagri = input (" ") print ("Année d'installation") annee_installation = input (" ") while annee_installation >0: print ("BILAN") print ("Bilan Financier") print ("Actif") print ("Immobilisations") immobilisations = float (input(" ")) print ("stocks") stocks = float (input (" ")) print ("Créances") creances = float (input (" ")) print ("Disponible") disponible = float (input (" "))
Merci d'avance,
Moi :)
Salut,
Dans ce cas tu crées tes propres fonctions de saisie int et float
Dans ce cas tu crées tes propres fonctions de saisie int et float
print("Bonjour bienvenu dans le programme de gestion. Ce dernier est un appui à la gestion d'entreprise agricole") print("Veuillez entrer des caractères numériques uniquement") #bloquer les caractères spéciaux et les lettres #suite correcte def input_int(lib): saisie='' while (not saisie.isdigit()): saisie = input (lib) return (int(saisie)) def input_float(lib): while True: saisie = input (lib) try: float(saisie) return (float(saisie)) except ValueError: pass annee_d_etude = input_int ("Année de l'étude de l'analyse ") ageagri = input_int ("Age de l'agriculteur ") annee_installation = input_int ("Année d'installation ") if annee_installation >0: print ("BILAN") print ("Bilan Financier") print ("Actif") immobilisations = input_float("Immobilisations ") stocks = input_float ("stocks ") creances = input_float ("Créances ") disponible = input_float ("Disponible ") print(annee_d_etude, ageagri, annee_installation,immobilisations,stocks,creances, disponible)
Bonjour,
Hé oui
De la façon dont moi2997 posait le problème, on avait l'impression qu'il attendait une
formule magique à écrire en début de code pour que toutes les saisies se fassent
automatiquement sur des nombres:
l y a bien des fonctions ou des boucles mais je souhaiterais que ce soit automatique pour toutes les étapes de mon programme
Automatique : automatiser, c'est coder, il faut que tu codes la mécanique toi-même
ce n'est pas de la magie :-)
Hé oui
De la façon dont moi2997 posait le problème, on avait l'impression qu'il attendait une
formule magique à écrire en début de code pour que toutes les saisies se fassent
automatiquement sur des nombres:
l y a bien des fonctions ou des boucles mais je souhaiterais que ce soit automatique pour toutes les étapes de mon programme
Automatique : automatiser, c'est coder, il faut que tu codes la mécanique toi-même
ce n'est pas de la magie :-)
Bonjour à tous,
merci pour votre aide... En effet, je cherche à coder pour le moment quand je rentre une lettre ça me met un message d'erreur et ne me propose pas de réécrire... je chercher toujours en tout cas merci pour votre aide...
Moi2937
merci pour votre aide... En effet, je cherche à coder pour le moment quand je rentre une lettre ça me met un message d'erreur et ne me propose pas de réécrire... je chercher toujours en tout cas merci pour votre aide...
Moi2937
Comment ça, tu cherches toujours ?
on t'a donné des solutions !
Tu ne vas pas me dire que ça:
te sort une erreur si tu entres une lettre, ca te repose la question en fait, donc ca marche !
on t'a donné des solutions !
Tu ne vas pas me dire que ça:
annee_d_etude ='' while(not annee_d_etude.isdigit()): annee_d_etude = input ("Année de l'étude de l'analyse : ")
te sort une erreur si tu entres une lettre, ca te repose la question en fait, donc ca marche !
Re,
quand je fais un copier coller du code et que je provoque l'erreur avec le console j'ai ce retour : .......$ python essai.py
Veuillez entrer des caractères numériques uniquement
Année de l'étude de l'analyse : d
Traceback (most recent call last):
File "essai.py", line 7, in <module>
annee_d_etude = input ("Année de l'étude de l'analyse : ")
File "<string>", line 1, in <module>
NameError: name 'd' is not defined
Je débute l'erreur doit être précisée sous les yeux mais je ne trouve pas... Désolé ...
Moi :)
quand je fais un copier coller du code et que je provoque l'erreur avec le console j'ai ce retour : .......$ python essai.py
Veuillez entrer des caractères numériques uniquement
Année de l'étude de l'analyse : d
Traceback (most recent call last):
File "essai.py", line 7, in <module>
annee_d_etude = input ("Année de l'étude de l'analyse : ")
File "<string>", line 1, in <module>
NameError: name 'd' is not defined
Je débute l'erreur doit être précisée sous les yeux mais je ne trouve pas... Désolé ...
Moi :)
Ouh la,
Tu dis que si tu fais un copié/collé de mes 3 lignes :
et que tu testes ça, ca plante ???
Moi ca donne ça:

Tu fais surement une erreur quelque part
Tu dis que si tu fais un copié/collé de mes 3 lignes :
annee_d_etude ='' while(not annee_d_etude.isdigit()): annee_d_etude = input ("Année de l'étude de l'analyse : ")
et que tu testes ça, ca plante ???
Moi ca donne ça:
Tu fais surement une erreur quelque part
Oui oui je fais un copier coller.... Je vais finir par trouver... mais pour le moment j'ai toujours des messages d'erreur... :(
Fais juste un petit fichier test.py avec ces 3 lignes
déjà pour voir ce bout de code ...
ou alors refait voir ton code complet, celui que tu testes et qui sort cette erreur
déjà pour voir ce bout de code ...
ou alors refait voir ton code complet, celui que tu testes et qui sort cette erreur
C'est ce que je fais...
$ python essai.py
Année de l'étude de l'analyse : toto
Traceback (most recent call last):
File "essai.py", line 4, in <module>
annee_d_etude = input ("Année de l'étude de l'analyse : ")
File "<string>", line 1, in <module>
NameError: name 'toto' is not defined
Merci encore pour l'aide...
Moi :)
$ python essai.py
Année de l'étude de l'analyse : toto
Traceback (most recent call last):
File "essai.py", line 4, in <module>
annee_d_etude = input ("Année de l'étude de l'analyse : ")
File "<string>", line 1, in <module>
NameError: name 'toto' is not defined
Merci encore pour l'aide...
Moi :)
c'est pas possible,
comme je te disais, affiche ton code ici, et avec ls balises comme je le fais, qu'on voie
les indentations
comme je te disais, affiche ton code ici, et avec ls balises comme je le fais, qu'on voie
les indentations
pas de capture d'écran !
fais un copié/collé de ton code et mets les balises comme je le fait !
moi je suis en 3.7.2 et ça marche
fais un copié/collé de ton code et mets les balises comme je le fait !
moi je suis en 3.7.2 et ça marche
<code python><#coding:utf-8
annee_d_etude =''
while(not annee_d_etude.isdigit()):
annee_d_etude = input ("Année de l'étude de l'analyse : ")>
En espérant fait comme il le faut car je n'ai jamais mis de balises sur ce site pour mes questions...
Merci
annee_d_etude =''
while(not annee_d_etude.isdigit()):
annee_d_etude = input ("Année de l'étude de l'analyse : ")>
En espérant fait comme il le faut car je n'ai jamais mis de balises sur ce site pour mes questions...
Merci
Ben oui ca se voit: tu n'as pas du tout suivi le mode d'emploi
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Visuellement, ça doit ressembler à ceci (avec la coloration syntaxique) :
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Visuellement, ça doit ressembler à ceci (avec la coloration syntaxique) :
def test(): print('test') test()