#1 Le 12/05/2012, à 22:54
[Résolu] Débuts en python : problèmes avec input()
Bonjour à tous,
Je commence à apprendre Python avec le tuto de Swinnen, par contre il y a quelque chose que je ne saisis pas :
en théorie, le tutorial dit que la fonction "raw_input" convertit ce que l'utilisateur a tapé en chaîne de caractères, "str".
Après test, il me semble plutôt que l'objet obtenu est un "tuple", suivant cet exemple :
>>> b = raw_input("entrez un nombre :"),
entrez un nombre :5
>>> type(b)
<type 'tuple'>Ensuite j'ai testé la fonction input() seule, pensant que le problème venait de raw_input :
>>> b = input("entrez un nombre :"),
entrez un nombre :5
>>> type(b)
<type 'tuple'>J'ai cherché sur la documentation de python.org ce que signifie ce tuple, mais j'avoue que je ne saisis pas pourquoi j'obtiens un tuple après input, quand le tutoriel stipule que :
La fonction input() renvoie une valeur dont le type correspond à ce que l'utilisateur a entré. Dans notre exemple, la variable nn contiendra donc un entier, une chaîne de caractères, un réel, etc. suivant ce que l'utilisateur aura décidé. Si l'utilisateur souhaite entrer une chaîne de caractères, il doit l'entrer comme telle, c'est-à-dire incluse entre des apostrophes ou des guillemets. Nous verrons plus loin qu'un bon script doit toujours vérifier si le type ainsi entré correspond bien à ce que l'on attend pour la suite du programme.
Pour cette raison, il sera souvent préférable d'utiliser dans vos scripts la fonction similaire raw_input(), laquelle renvoie toujours une chaîne de caractères. Vous pouvez ensuite convertir cette chaîne en nombre à l'aide de int() ou de float().
Je précise enfin que :
- avec ou sans guillemets, le problème reste le même ;
- j'ai essayé avec python3, en pensant que là pouvait être la raison, mais ce n'est pas le cas ;
- toute tentative de conversion ne fonctionne pas, car l'objet en question est un tuple (...) ;
Quelqu'un aurait-il la bonté de m'expliquer le pourquoi du comment ?
Merci.
Dernière modification par duanduan (Le 13/05/2012, à 21:15)
Hors ligne
#2 Le 13/05/2012, à 01:46
Re : [Résolu] Débuts en python : problèmes avec input()
Bonjour,
J'ai trouvé la solution. C'est la virgule à la fin de ton input et raw_input qui pose problème ![]()
Hors ligne
#3 Le 13/05/2012, à 21:14
Re : [Résolu] Débuts en python : problèmes avec input()
Je n'y aurais jamais pensé tout seul !
Merci beaucoup Gloorian.
Hors ligne
#4 Le 13/05/2012, à 21:46
Re : [Résolu] Débuts en python : problèmes avec input()
De rien
Il me semblait bien qu'il y avait quelque chose d'étrange. La syntaxe de python est assez stricte ![]()
Hors ligne
Pages : 1
- Accueil
- » Forum
- » Développement et programmation
- » [Résolu] Débuts en python : problèmes avec input()