Partage
  • Partager sur Facebook
  • Partager sur Twitter

Petit soucis avec Python!!!

Python n'aime pas jouer avec les carrés et les cubes???

Sujet résolu
    8 mars 2011 à 20:07:36

    Salut à tous!!!

    je viens de commencer un petit cours de remise à niveau d'algorithme et le prof nous a soumis un petit problème ("afficher les résultats de la surface et du volume d'une sphère en utilisant IDLE de Python"), il nous a fait la correction et j'ai essayé de le refaire chez moi comme une grande (mais il va falloir que je mange encore pas mal de soupe pour ça :'( ))

    donc les formules sont les suivantes: Surface =4πr² et le Volume= (4πr³)/3

    Et voilà ce que j'ai lamentablement refait:

    print("Trouvez la surface et le volume de la sphère")
    r=input("rayon=")
    PI= 3.14

    surface=PI * 4 *r**2
    volume= PI * r** 3 * 4/3.0

    print("surface =" ,surface)
    print("volume =",volume)

    et quand je fais Run module il m'affiche cette erreur :

    Traceback (most recent call last): <module> surface=PI * 4 *r**2 TypeError: unsupported operand type(s) for ** or pow(): 'str' and 'int'

    Si vous pouviez m'aider à corriger mes erreurs!!! merci infiniment pour votre temps consacré
    :D
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      8 mars 2011 à 20:14:50

      Ton prof travaille avec la version 3 de python et toi la 2, il faut que tu te mettes à niveau.

      • Partager sur Facebook
      • Partager sur Twitter
        8 mars 2011 à 20:35:14

        non, je travaille avec la 3 et il travaille avec la 2.6, vou croyez que c'est un problème de version!!! :euh:
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          8 mars 2011 à 20:52:00

          Si t'es en version 3, rajoute float à la ligne 5 de ton code

          #!/usr/bin/python
          # -*- coding:utf8 -*-
          
          print("Trouvez la surface et le volume de la sphère")
          r=float(input("rayon="))
          PI= 3.14
          
          surface=PI * 4 * r**2
          volume= PI * r**3 * 4/3.0
          
          print("surface =" ,surface)
          print("volume =",volume)
          


          • Partager sur Facebook
          • Partager sur Twitter
            8 mars 2011 à 21:30:29

            merci beaucoup tu es un chef :) !!!
            • Partager sur Facebook
            • Partager sur Twitter
              9 mars 2011 à 2:28:27

              BTW tu diras à ton prof qu'il programme comme un pied.
              En Python 2 on n'utilise JAMAIS input, qui est totalement unsafe, mais plutôt raw_input (l'équivalent du input de python3).
              • Partager sur Facebook
              • Partager sur Twitter
              Zeste de Savoir, le site qui en a dans le citron !

              Petit soucis avec Python!!!

              × 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