Partage
  • Partager sur Facebook
  • Partager sur Twitter

input() ou raw_input()

il semble

    3 août 2010 à 21:45:50

    Bonjour, je suis un zero qui attendait depuis longtemps le tutoriel de python. Je suis content qu'il soit disponible.
    J'ai remarque qu'on peut faire plus vite avec ce langage, d'apres il devrait etre le premier a etre enseigner en classe de science informatique. Bon opinon personnelle hein. Venons-en au fait. J'utilise Xubunty et python 2.6. Je suis le cours de python de 6pri1 et prolixe. Je suis au tp ZCasino.
    1- Mon programme me dit que je gagne toujours, ensuite
    2- Pour terminer quand j'utilise input() ca me donne un message d'erreur meme si le programme termine.
    Quand j'utilise raw_input() ca ne fait plus ca. Je suis cool je vais mettre mon code et vous pourrez le voir

    <code type="python">#!/usr/bin/python
    # -*- coding: Utf-8 -*-

    import os
    from random import randrange
    from math import ceil

    """Ceci est un jeu toute bete, seul quelqu'un qui connait vraiment le casino y trouvera du plaisir
    """
    # declaration des variables de depart
    argent = 1000 # on a 1000 $ au debu du jeu
    continuer_partie = True # boolee qui est vrai tant qu'on doit continuer la parite

    print "Vous vous installez a la table de roulette avec", argent, "$."

    while continuer_partie: # tant qu'on doit continuer la partie
    # on demande a l'utilisateur d'enter le nombre surlequel il va miser
    nombre_mise = -1
    while nombre_mise < 0 or nombre_mise > 49:
    print "Entrez le nombre sur lequel vous voulez miser (entre 0 et 49)"
    nombre_mise = input()
    try:
    nombre_mise = int(nombre_mise)
    except ValueError:
    print "Vous n'avez pas entre de nombre"
    nombre_mise = -1
    continue
    if nombre_mise < 0:
    print "Ce nombre est negatif"
    if nombre_mise > 49:
    print "Ce nombre est superieur a 49"

    # a present, on selectionn la somme a miser sur le nombre
    mise = 0
    while mise <= 0 or mise > argent:
    print "Entrez le montant de votre mise : "
    mise = input()
    # on converti la mise
    try:
    mise = int (mise)
    except ValueError:
    print "Vous n'avez pas entre de nombre"
    mise = -1
    continue
    if mise <= 0:
    print "La mise entree est negative ou nulle."
    if mise > argent:
    print "Vous ne pouvez miser autant, vous n'avez que", argent, "$"

    # le nombre mise et la mise ont ete selectionne par l'utilisateur
    # on fait tourner la roulette
    numero_gagnant = randrange(50)
    print "La roulette tourne... ... et s'arrete sur le numero", numero_gagnant

    # on va etablir le gain du joueur
    if numero_gagnant == nombre_mise:
    print "Felicitation! Vous obtenez", mise * 3, "$ !"
    argent += mise * 3
    elif numero_gagnant % 2 == nombre_mise % 2: # ils sont de la meme couleur
    mise = ceil(mise * 0.5)
    print "Vous avez mise sur la bonne couleur. Vous obtenez", mise, "$"
    argent += mise
    else:
    print "Desole l'ami, c'est pas pour cette fois. Vous perdez votre mise."
    argent -= mise

    # on va interrompre la partie si le joueur est ruine
    if argent <= 0:
    print "Vous etes ruine ! C'est la fin de la partie."
    continuer_partie = False
    else:
    # on affiche l'argent du joueur
    print "Vous avez a present", argent, "$"
    print("Voulez-vous quitter le casino(o.n) ? ")
    quitter = raw_input()
    if quitter == "o" or quitter == "O":
    print "Vous quittez le casino avec vos gains"
    continuer_partie = False

    # on met en pause le systeme%
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      3 août 2010 à 22:13:55

      Tu peux écrire ton code avec les balises code python s'il te plait, c'est illisible.
      • Partager sur Facebook
      • Partager sur Twitter
        3 août 2010 à 22:22:11

        Pour ce qui est de input() / raw_input(), il semblerait que tu utilises Python 2.

        Pour faire simple : raw_input() en Python 2 équivaut à input() en Python 3, et input() en Python 2 équivaut à eval(input()) en Python 3.
        • Partager sur Facebook
        • Partager sur Twitter
        Zeste de Savoir, le site qui en a dans le citron !
        Anonyme
          3 août 2010 à 22:24:34

          Il y a un tuto pour l'utilisation du zcode.

          C'est juste dommage qu'il n'y en est pas pour le language Frensh... :-°
          • Partager sur Facebook
          • Partager sur Twitter
            3 août 2010 à 22:26:27

            Citation : LeYan'tibus


            C'est juste dommage qu'il n'y en est pas pour le language Français... :-°


            « Langage »
            « la langue française »

            C'est dommage en effet. :lol:
            • Partager sur Facebook
            • Partager sur Twitter
            Zeste de Savoir, le site qui en a dans le citron !
            Anonyme
              3 août 2010 à 22:29:42

              :lol: moi y'a avoir éditer ^^
              • Partager sur Facebook
              • Partager sur Twitter
                3 août 2010 à 22:33:09

                Citation : LeYan'tibus


                C'est juste dommage qu'il n'y en est pas pour le language Frensh... :-°



                "French"

                Double fail. :p

                Edit: j'arrête le HS ici.
                • Partager sur Facebook
                • Partager sur Twitter
                Zeste de Savoir, le site qui en a dans le citron !
                Anonyme
                  3 août 2010 à 22:43:14

                  Bon, on est d'accord, c'est pas moi qui rédigera ce tuto. :-°
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    4 août 2010 à 20:04:53

                    Désolé pour le HS mais...

                    :euh: T'es sûr que c'est vraiment faux ?
                    Je pense avoir raison... C'est peut-être une erreur de "langage courant"... (?)

                    "Je ne suis pas celui qui le rédigera !!"
                    • Partager sur Facebook
                    • Partager sur Twitter
                      4 août 2010 à 20:10:46

                      Je n'ai pas le temps de trouver un meilleur lien, alors voici celui-ci en attendant ;)
                      • Partager sur Facebook
                      • Partager sur Twitter
                        4 août 2010 à 20:42:25

                        Sauf que la différence entre ton exemple et ta phrase, c'est le sujet. Dans le premier cas, c'est "moi" (première personne) et dans le deuxième, "celui".
                        • Partager sur Facebook
                        • Partager sur Twitter
                          4 août 2010 à 21:44:43

                          Non, c'est "qui" dans les deux cas.

                          sambalien, tu devrais passer à Python 3.1 si tu suis ce tuto.

                          • Partager sur Facebook
                          • Partager sur Twitter
                            4 août 2010 à 22:07:21

                            Citation : Maxibolt

                            Non, c'est "qui" dans les deux cas.

                            sambalien, tu devrais passer à Python 3.1 si tu suis ce tuto.



                            Sauf qu'entre la première et la seconde phrase, le pronom « qui » ne renvoie pas à la même personne grammaticale. C'est un typage dynamique... :p
                            • Partager sur Facebook
                            • Partager sur Twitter
                            Zeste de Savoir, le site qui en a dans le citron !
                            Anonyme
                              4 août 2010 à 22:09:34

                              def isredactor(name):
                                  if name in LIST_GOOD_FRENCHIES:
                                      return True
                                  return False
                              

                              >>> isredactor('LeYan^^')
                              False


                              Là c'est plus mieux claire ! Nan ? :lol:

                              PS: yo soy véritablement désolé for this HS... (qui prend des proportions démesurées)
                              ...En même temps le poste était déjà mal partie avant mon intervention... Ah nan, c'est moi qu'ai foutu le boxon... :-°
                              • Partager sur Facebook
                              • Partager sur Twitter
                                4 août 2010 à 22:15:46

                                Ton code peut être simplifié en :
                                def is_redactor(name):
                                    return name in LIST_GOOD_FRENCHIES
                                


                                >>> is_redactor("LeYan'tibus")
                                False
                                


                                ;)

                                Mais je te trouve un peu dur avec toi-même.
                                • Partager sur Facebook
                                • Partager sur Twitter
                                Anonyme
                                  4 août 2010 à 22:26:51

                                  Ça la fout mal quand même... Le type vient critiquer l'orthographe et il est pô fichu de faire mieux ! :'(

                                  Quel Quelle classe !! :soleil:
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    4 août 2010 à 22:29:10

                                    Quelle*

                                    Allez, c'est bon, j'arrête ;-)
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      5 août 2010 à 17:47:33

                                      Je voudrais vraiment passer à Python 3. Mon probleme c'est que j'utilise Xubuntu et ne sais pas comment mettre un programme a jour. J'ai bien dit, un programme et non pas le systeme.
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        5 août 2010 à 17:52:12

                                        sudo apt-get install python3Ca marche pas ?
                                        Après il te faut taper python3 pour lancer l'interpréteur.
                                        J'utilise ubuntu mais à mon avis ca doit marcher ausi sous Xubuntu (la syntaxe est peut être pas identique).
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          5 août 2010 à 18:07:09

                                          Non la syntaxe est bien la même (ça ne dépend pas du gestionnaire de bureau).

                                          Le seul truc à savoir c'est que, comme tu l'as rappelé, sous Ubuntu, la version par défaut de python est la 2.6, par soucis de compatibilité avec tous les programmes qui l'utilisent, et que python3 est "un python à part", qu'il faut appeler spécifiquement.

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                          Zeste de Savoir, le site qui en a dans le citron !
                                            5 août 2010 à 18:20:37

                                            Comment je peux faire pour que la version 3 devient celle par défaut
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              5 août 2010 à 18:34:54

                                              Citation : sambalien

                                              Comment je peux faire pour que la version 3 devient celle par défaut


                                              Si tu veux juste que quand tu tapes python ça t'ouvres python 3 au lieu du 2 tu peux créer un simple alias, si tu veux plus je peux pas t'aider :D
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                5 août 2010 à 21:10:06

                                                Citation : sambalien

                                                Comment je peux faire pour que la version 3 devient celle par défaut



                                                C'est méchamment déconseillé.
                                                Si tu bidouilles de manière à ce que '/usr/bin/env python' renvoie vers Python3 (c'est-à-dire si Python 3 devient la version par défaut), la grosse majorité des scripts / programmes / bibliothèques que tu as installés qui tournent en python (donc python 2.6) risque de ne plus fonctionner.

                                                En résumé : python 3, c'est le prochain standard, mais ce n'est pas le "python" natif de ta distro. Si tu veux programmer en Python3, précise python3 dans la console (ça ne coûte qu'un caractère de plus à taper quand tu appelles le shell... c'est pas la mort !).
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                Zeste de Savoir, le site qui en a dans le citron !
                                                  9 août 2010 à 19:53:10

                                                  J'avais a peu pres la meme idee. Je n'ai pas de bibliotheques que j'ai installe sur mon ordi. Je viens tout juste de debuter. Si je peux utiliser le 3 et le 2.6 en meme temps c'est plus genial je pense. Ca me permettra de voir comment mieux ecrire mes scripts afin qu'ils puissent fonctionner sur les 2 interpreteurs. merci bcp
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                  Anonyme
                                                    9 août 2010 à 20:05:12

                                                    Citation

                                                    Si je peux utiliser le 3 et le 2.6 en meme temps c'est plus genial je pense



                                                    Pas possible, ou très embêtant. Choisis l'un ou l'autre, c'est très conseillé.

                                                    Citation

                                                    Ca me permettra de voir comment mieux ecrire mes scripts afin qu'ils puissent fonctionner sur les 2 interpreteurs



                                                    Je ne suis pas d'accord avec toi et je ne vois pas ce qui peut te faire dire cela o_O

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      10 août 2010 à 11:23:01

                                                      Citation : fred1599

                                                      Citation

                                                      Si je peux utiliser le 3 et le 2.6 en meme temps c'est plus genial je pense



                                                      Pas possible, ou très embêtant. Choisis l'un ou l'autre, c'est très conseillé.

                                                      Citation

                                                      Ca me permettra de voir comment mieux ecrire mes scripts afin qu'ils puissent fonctionner sur les 2 interpreteurs



                                                      Je ne suis pas d'accord avec toi et je ne vois pas ce qui peut te faire dire cela o_O



                                                      Je trouve au contraire que c'est une bonne idée.

                                                      Se pencher sur les différences entre les deux versions de Python, ça permet de comprendre certains aspects du langage qui sont moins faciles à faire rentrer que les features sexy du style compréhensions de liste, lambda fonctions etc... Je pense en particulier à la division entre entiers qui se comporte totalement différemment entre les versions 2 et 3.

                                                      Si le PO veut ensuite faire des scripts et des programmes en Python qui tournent nativement sur sa distro, mais qu'il est sensibilisé aux changements, ce sera tout bénef' pour lui : il aura moins à se faire chier entre les différents changements de mineure de Python 2, puisqu'il saura déjà vers quoi ils tendent.

                                                      Ça permet d'approfondir le cours (ne pas se contenter de la théorie, voir les problèmes pratiques que l'on rencontre en Python "à notre époque"), à condition que ça ne prenne pas le pas sur le reste de l'apprentissage.
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                      Zeste de Savoir, le site qui en a dans le citron !
                                                      Anonyme
                                                        10 août 2010 à 11:41:48

                                                        Citation

                                                        Se pencher sur les différences entre les deux versions de Python, ça permet de comprendre certains aspects du langage qui sont moins faciles à faire rentrer que les features sexy du style compréhensions de liste, lambda fonctions etc... Je pense en particulier à la division entre entiers qui se comporte totalement différemment entre les versions 2 et 3.



                                                        C'est s'embêter pour rien! Vaut mieux qu'il se mette à fond dans la version 3, il débute.

                                                        La version 2.7 est peut-être, voir surement la dernière version python2.

                                                        Pour un débutant la version 3 me semble conseillé et un gain de temps.

                                                        Citation

                                                        Si le PO veut ensuite faire des scripts et des programmes en Python qui tournent nativement sur sa distro, mais qu'il est sensibilisé aux changements, ce sera tout bénef' pour lui : il aura moins à se faire chier entre les différents changements de mineure de Python 2, puisqu'il saura déjà vers quoi ils tendent.



                                                        D'où l'intérêt d'éviter la version 2 et attaquer en version 3, pour perdre moins de temps.

                                                        Citation

                                                        Ça permet d'approfondir le cours (ne pas se contenter de la théorie, voir les problèmes pratiques que l'on rencontre en Python "à notre époque"), à condition que ça ne prenne pas le pas sur le reste de l'apprentissage.



                                                        Ici se sera le cas, non?

                                                        Un débutant qui maîtrise tout juste le langage et doit se sensibiliser aux différences entre version 2 et 3, c'est balèze, non?

                                                        Peut-être y a-t-il d'autres priorités?

                                                        :)
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          10 août 2010 à 12:37:19

                                                          Sauf que visiblement, il travaille sous un OS qui a une version native de Python, et c'est typiquement le genre de cas dans lequel je conseille plutôt de coller à l'environnement, parce qu'une fois l'apprentissage de base passé, on veut commencer à utiliser des bibliothèques externes, et dans ce cas, il est beaucoup plus simple et propre de faire un sudo aptitude install python2.6-libtrucque de s'emmerder à compiler la version 3 qui n'existe peut-être même pas encore.

                                                          Si on veut dépasser le stade du "je développe mes scripts persos pour les faire fonctionner dans mon coin", et que l'on veut faire les choses correctement, il est préférable de tenir compte de ce genre de choses. Même si la 2.7 est probablement la dernière "version 2" de Python, ça ne signifie pas que Python 2 va s'éteindre du jour au lendemain.

                                                          D'ailleurs, une ou deux petites heures à comprendre le principe du from __future__ import truc , c'est vraiment pas la mort.
                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                          Zeste de Savoir, le site qui en a dans le citron !
                                                            13 août 2010 à 3:33:54

                                                            Citation

                                                            sudo apt-get install python3Ca marche pas ?
                                                            Après il te faut taper python3 pour lancer l'interpréteur.
                                                            J'utilise ubuntu mais à mon avis ca doit marcher ausi sous Xubuntu (la syntaxe est peut être pas identique).



                                                            Citation

                                                            Non la syntaxe est bien la même (ça ne dépend pas du gestionnaire de bureau).

                                                            Le seul truc à savoir c'est que, comme tu l'as rappelé, sous Ubuntu, la version par défaut de python est la 2.6, par soucis de compatibilité avec tous les programmes qui l'utilisent, et que python3 est "un python à part", qu'il faut appeler spécifiquement.



                                                            Ca ne marche pas. j'ai essaye sudo apt-get install python3-minimal c'est en vain.
                                                            • Partager sur Facebook
                                                            • Partager sur Twitter

                                                            input() ou raw_input()

                                                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                            • Editeur
                                                            • Markdown