Partage
  • Partager sur Facebook
  • Partager sur Twitter

Input( ) ne marche pas :/

Input ne marche pas

17 décembre 2017 à 11:10:20

Bonjour, Je suis débutant en python(Débutant de chez Débutant)

Bon,Récemment  jai voulu créer un bout de code le voici:

mdp_vrai = False
mdp_enter = int(input("Définis un mot de passe >en chiffre< : "))
mdp = int(input("Rentre ton mot de passe : "))
if int(mdp) == int(mdp_enter):
    mdp_vrai = True
    print("Enregistrer avec succes !")
elif int(mdp) != int(mdp_enter):
    mdp_vrai = False
    print("Mot de passe Incorrect !")
    mdp = int(input("Rentre ton mot de passe : "))
    if int(mdp) == int(mdp_enter):
      mdp_vrai = True
    print("Enregistrer avec succes !")

Le problème c'est que sa blocke ,Quand je veut l'executer dans le terminal (je suis sur mac) avec cette erreur

Traceback (most recent call last):
  File "<string>", line 2, in <module>
EOFError: EOF when reading a line

Alors que sur des executeures ou compileur (je sais pas le nom bref,)  en ligne et bah sa marche Parfaitement ,donc je ne sais pas trop d'ou vient le problème (jai deja réinstaller python plein de fois )

Vous pouvez m'aider ? merci d'avance

ps: J'uttlise Komodo Edit 11 sur mac 

-
Edité par oscarmar 17 décembre 2017 à 12:03:59

  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
17 décembre 2017 à 11:18:25

Input( ) ne marche pas

Ah, alors pas la peine de lui demander de courrir :'(

Dans ta ligne 13, il manque une parenthèse fermante ! Sinon je ne vois pas d'erreur, sinon quelques incohérences...

  • Partager sur Facebook
  • Partager sur Twitter
17 décembre 2017 à 11:40:14

C'est bon j'ai remis la paranthèse mais l'erreur persite toujours la meme erreur
  • Partager sur Facebook
  • Partager sur Twitter
17 décembre 2017 à 12:03:59

Ton erreur survient après avoir entré la valeur ou avant?

Sinon, puisque tu convertis tes entrées utilisateur en entier (ligne 2 et 3 grâce au int) pas la peine de refaire cette conversion aux lignes 4, 7 et 11. Ce sont déjà des entiers. Et la ligne 7 peut être remplacée par un simple else:

if mdp == mdp_enter:
    ...
else:
    ...
  • Partager sur Facebook
  • Partager sur Twitter
Précepte: Le mieux est l'ennemi du bien
17 décembre 2017 à 12:10:47

* Entre python -V dans un terminal histoire qu'on ait la version de python.

* Vérifie que tu utilises bien soit des apostrophes soit des guillemets pour entourer tes morceaux de texte.

Sinon ton code pourrait être réduit à quelque chose de plus simple dans l'idée de :

>>> def login():
...     p = int(input("Choisir un mot de passe : "))
...     while p != int(input("Entrez le mot de passe : ")):
...             print("Mot de passe incorrect.")
...     print("Enregistré avec succès.")
...     return True
... 
>>> login()
Choisir un mot de passe : 45
Entrez le mot de passe : 12
Mot de passe incorrect.
Entrez le mot de passe : 32
Mot de passe incorrect.
Entrez le mot de passe : 45
Enregistré avec succès.
>>>

-
Edité par _Elrik 17 décembre 2017 à 12:13:04

  • Partager sur Facebook
  • Partager sur Twitter
17 décembre 2017 à 12:35:54

Ah bah la version de python est 2.7.10 .... pourtant jai bien installer la version 3.6 >_<

je vais réinstaller python pour voir si sa marche 

C'est bon sa marche merci pour tout il fallait pas faire :

python script.py

mais

python3 script.py

-
Edité par oscarmar 17 décembre 2017 à 12:43:48

  • Partager sur Facebook
  • Partager sur Twitter
12 février 2024 à 21:56:20

salue moi aussi j'ai un problème quand j'utilise la fonction input()dans mes code je ne peut rien entrer je suis sur windows et j'utilise visual studio code
  • Partager sur Facebook
  • Partager sur Twitter
13 février 2024 à 0:31:49

@BrahamZongo Bonjour, merci de ne pas déterrer d'ancien sujet, créer le votre en nous indiquant le code que vous avez écrit insérer sur le forum à l'aide du bouton d'insertion de code soit le bouton code </>.

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Liens conseillés

Je ferme ici.

  • Partager sur Facebook
  • Partager sur Twitter