Partage
  • Partager sur Facebook
  • Partager sur Twitter

Exercices du cours Python / postez ici !

    31 janvier 2022 à 18:29:10

    nous, on a juste pas voulu donné la solution toute cuite, mais le guider fortement vers le problème de type
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      31 janvier 2022 à 18:39:58

      umfred a écrit:

      nous, on a juste pas voulu donné la solution toute cuite, mais le guider fortement vers le problème de type


      Surtout que ce que la solution à déjà été donnée plusieurs fois dans ce fil...
      • Partager sur Facebook
      • Partager sur Twitter
        1 février 2022 à 22:17:37 - Message modéré pour le motif suivant : Merci d'utiliser le bouton code du forum pour insérer votre code


          7 février 2022 à 10:14:40

          Bonjour, je suis actuellement la formation initiale en python et j'en suis à l'extraction de données web. Je voulais savoir comment écrire (sur quelle plateforme) les exemple en html pour améliorer ma pratique via ces exemples. Merci
          • Partager sur Facebook
          • Partager sur Twitter
            7 février 2022 à 16:44:17

            si tu veux créer des html (html avec ou sans css), tu peux le faire localement sur ton PC, pas besoin de plateforme particulière. le html est "décodé" directement par le navigateur internet
            • Partager sur Facebook
            • Partager sur Twitter
              8 février 2022 à 13:07:45

              Bonjour, je voudrais donc savoir comment le faire localement sur mon pc. Avec la console et sublim text ça ne fonctionne pas. Merci
              • Partager sur Facebook
              • Partager sur Twitter
                8 février 2022 à 13:20:46

                tu peux expliciter un peu plus ?
                Pour moi, localement, ça veut dire que tu créés toi-même ton fichier html dans un des répertoires (tu peux le visionner dans un navigateur si besoin)(ne pas oublier de le sauvegarder)

                Ton script python va charger ce fichier (en indiquant son chemin dans le code pour commencer) et ensuite, il ira récupérer ce que tu veux, selon ton code et l'organisation du html.

                Mets ton exemple qui ne marche pas si nécessaire (code du html et code python) ici ou dans un sujet à part.

                -
                Edité par umfred 8 février 2022 à 13:21:09

                • Partager sur Facebook
                • Partager sur Twitter
                  9 février 2022 à 17:51:21

                  Les meilleures races de chiens

                  Il existe de nombreuses races de chiens géniales et les meilleures sont : LabraDoodle, Golden Retriever et Carlin

                  • Partager sur Facebook
                  • Partager sur Twitter
                    9 février 2022 à 19:11:22

                    tes liens renvoies vers une erreur 404, si ces fichiers sont en local chez toi, on ne peut pas y accéder, copie leur code éventuellement entre les balises de code (via le bouton </>)
                    • Partager sur Facebook
                    • Partager sur Twitter
                      11 février 2022 à 18:01:50

                      Bonjour,

                      je commence python

                      Lancez votre premier programme Python

                      Je n'arrive pas à exécuter le script ds python:

                      1. Dans le dossier Documents, écrivez "python3" et le nom du fichier que vous avez créé : python3 helloworld.py  . 

                      2. Appuyez sur Entrée pour voir le résultat:  Hello, world

                      Je ne vois pas ou écrire:   python3 helloworld.py

                      • Partager sur Facebook
                      • Partager sur Twitter
                        11 février 2022 à 18:26:04

                        Je n'aime pas cette directive. Je suppose que tu es sur Windows?
                        As-tu installé Python depuis pithon.orgg?
                        Sinon, crée un fichier Hello.py avec le print dedans.
                        Ensuite, tu devrais pouvoir l'exécuter simplement en cliquant sur le fichier.
                        Si tu ne peux pas voir le résultat, ajoutes la ligne suivante à la fin:
                        input("Taper Enter pour continuer")   ou tout autre message.
                        Tapes Enter qquand tu auras vu le message.
                        Sais-tu comment utiliser cmd en invite de commande?
                        • Partager sur Facebook
                        • Partager sur Twitter

                        Le Tout est souvent plus grand que la somme de ses parties.

                          11 février 2022 à 19:05:06

                          BadaBoum1 a écrit:

                          Bonjour,

                          je commence python

                          Lancez votre premier programme Python

                          Je n'arrive pas à exécuter le script ds python:

                          1. Dans le dossier Documents, écrivez "python3" et le nom du fichier que vous avez créé : python3 helloworld.py  . 

                          2. Appuyez sur Entrée pour voir le résultat:  Hello, world

                          Je ne vois pas ou écrire:   python3 helloworld.py


                          Dans une invite de commandes, comme c'est expliqué dans le cours aussi (si tu es sous windows) (sous linux, on parle plutôt de terminal)
                          et au cas où ça ne marche pas bien, regarde ce post récent https://openclassrooms.com/forum/sujet/apprenez-les-bases-lancer-depuis-le-terminal 
                          Sinon, tu peux aussi utiliser IDLE, en faisant ouvrir un fichier, sélectionner ton fichier, et en cliquant sur run dans le menu (ou touche F5 du clavier)

                          -
                          Edité par umfred 11 février 2022 à 19:05:18

                          • Partager sur Facebook
                          • Partager sur Twitter
                            12 février 2022 à 12:43:30

                            Bonjour,

                            Merci pour cette réponse rapide.

                            Désolé, je n'avais compris qu'il fallait passé par l'invite de commande windows !

                            Pourquoi ne pas utiliser cygwin ?

                            -----------------------------------------------------------------------------------------------------------------------

                            En utilisant cygwin:

                            Utilisateur@Daron ~
                            $ cd d:

                            Utilisateur@Daron /cygdrive/d
                            $ cd documents

                            Utilisateur@Daron /cygdrive/d/documents
                            $ python3 helloworld.py
                            -bash: /cygdrive/c/Users/Utilisateur/AppData/Local/Microsoft/WindowsApps/python3: Permission denied

                            Utilisateur@Daron /cygdrive/d/documents
                            $

                            -------------------------------------------------------------------------------------------------------------------------

                            En utilisant l'invite de commande windows

                            J'ai enregistré helloworld dans mes document (documents se trouve sur le disque d) puis j'ai lance l'invite de commande de windows

                            Voici ce que me renvoie l'invite de commande bien que python3 est bien installé sur mon ordi =>

                            Microsoft Windows [version 10.0.19044.1526]
                            (c) Microsoft Corporation. Tous droits réservés.

                            C:\Users\Utilisateur>d:

                            D:\>cd documents

                            D:\Documents>python3 helloworld.py
                            Python est introuvable. ExÚcutez sans argument pour procÚder Ó l
                            D:\Documents>

                            --------------------------------------------------------------------------

                            en utilisant python3 idle

                            Je lance idle, charge le fichier helloworld.py, le script fonctionne:

                            - ouverture d'une nouvelle fenêtre avec le fichier chargé

                            - puis lance le script par run et là retour à la première fenêtre avec le bon résultat

                            --------------------------------------------------------

                            Après avoir relu la réponse du lien envoyé (merci), j'ai vu qu'en tapant simplement helloworld.py et appuye sur entrée cela fonctionne:

                            Microsoft Windows [version 10.0.19044.1526]
                            (c) Microsoft Corporation. Tous droits réservés.

                            C:\Users\Utilisateur>d:

                            D:\>cd documents

                            D:\Documents>helloworld.py
                            hello

                            D:\Documents>

                            Merci

                            ps en cliquant directement sur helloworld.py, une fenêtre s'ouvre er se referme très rapidement, pas le temps de voir quelle fenêtre, suppose une fenêtre python3 !?

                            • Partager sur Facebook
                            • Partager sur Twitter
                              12 février 2022 à 17:11:38

                              Salut a tous !

                              Je suis confronté a un petit souci , pour la résolution du dernier exercice de "apprendre les bases du langage python".

                              J'essai de multiplier un liste par 15 et append sur une autre liste chaque résultat a l'aide d'un boucle , mais dans ce cas  elle m'ajoute 15 fois la valeur et pas la valeur par 15 .... les valeurs de ma liste heures_travaillees (qui sont bien des valeurs numérique) sont interprété comme des string (j'ai l'impression en tout cas..) . je tourne autour depuis tout a l'heure du coup je viens vous demander votre aide .

                              Je ne sais pas si j'ai été assez clair !!! 

                              La partie qui me pose problème est celle ci : 

                              for i in heures_travaillees:
                                  salaire.append(i*15)
                              
                              print (salaire)
                              

                              Et voici mon code complet : 

                              import csv
                                  
                              nom = []
                              heures_travaillees = []
                              salaire = []
                              
                              with open("input.csv", "r") as fichier_csv:
                                  reader = csv.DictReader(fichier_csv, delimiter=",")
                                  for ligne in reader:
                                      nom.append(ligne["nom"])
                                      heures_travaillees.append(ligne["heures_travaillees"])
                              
                              for i in heures_travaillees:
                                  salaire.append(i*15)
                              
                              print (salaire)
                              
                              with open("output.csv", "w") as fichier_csv:
                                  writer = csv.writer(fichier_csv, delimiter=",")
                                  en_tete = ["nom", "salaire"]
                                  writer.writerow(en_tete)
                                  for nom, salaire in zip(nom, salaire):
                                      writer.writerow([nom, salaire])
                              
                              
                              
                              

                              Merci d'avance !!!

                              • Partager sur Facebook
                              • Partager sur Twitter
                                12 février 2022 à 17:56:11

                                Essaies salaire.extend([valeur]*15)
                                • Partager sur Facebook
                                • Partager sur Twitter

                                Le Tout est souvent plus grand que la somme de ses parties.

                                  12 février 2022 à 18:45:37

                                  Merci PierrotLeFou, 

                                  J'ai essayé ta solution mais cela n'a rien donné , par contre j'ai trouvé une solution après une grande balade rafraichissante avec mon chien !!! 

                                  La voici : (et elle est vraiment toute simple, mais je ne sais pas si elle est vraiment "conventionnel")

                                  for i in heures_travaillees:
                                      salaire.append(int(i) * 15)

                                  Si je comprend bien ce que j'écris , je force i a se présenter sous forme integer. (mes mots ne sont surement pas les bon).

                                  En tout cas cela fonctionne très bien !!!

                                  Je suis tout de même avide de détail , car réussir c'est bien mais comprendre c'est mieux !!!

                                  En tout cas merci !!

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    12 février 2022 à 19:12:59

                                    J'ai compris l'inverse de ce que tu voulais faire. :)
                                    J'e n'utiliserais pas le mot "force", mais plutôt une "conversion" d'une variable en format str vers le format int. Donc d'une chaîne vers un entier.
                                    • Partager sur Facebook
                                    • Partager sur Twitter

                                    Le Tout est souvent plus grand que la somme de ses parties.

                                      17 février 2022 à 7:35:03

                                      Bonjour je suis entrain de tester ce code sur une page d'authentification mais je ne rentre pas dans le print(password,response.txt)

                                      import requests
                                      
                                      url ="https://www.example.com"
                                      loginpage = requests.get(url)
                                      org =  len(loginpage.text)
                                      print(org)
                                      #with open ('login.txt','r') as l:
                                      with open ('pass.txt','r') as f:
                                              #for login in l.readline():
                                              for word in f.readline():
                                                  password = word.replace("\n","")
                                              
                                                  
                                                  data = {'j_username':'toto' ,'j_password': 'toto'}
                                                  response = requests.post(url, data = data)
                                                  print(response.text)
                                                  if org != len(response.text):
                                                      print(password,len(response.text))
                                      

                                      merci pour votre aide 

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        17 février 2022 à 10:51:35

                                        ça veut dire que le test d'avant n'est jamais valide et donc que len(response.text) vaut toujours org (ça m'étonne un peu).
                                        rien ne t'empêche d'afficher tes variables avant (avec le print de la ligne 16 déjà, tu as une idée de ce qu'il se passe)
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          17 février 2022 à 13:09:45

                                          coucou pourtant je mets bien le bon login et bon mot de passe la longueur devrait changer non ?
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            17 février 2022 à 13:34:31

                                            aucune idée. que t'affiche response.text (ligne 16) ?
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              17 février 2022 à 14:47:33

                                              salut il m'affiche la page initial il n'y a eu aucune auth je ne comprends pas ?
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                24 février 2022 à 2:03:20

                                                La fonction listAleaFloat(n) retourne une liste de n flottants aléatoires en utilisant la fonction
                                                random() du module random.

                                                -La fonction amplitude(liste) retourne l’écart entre la plus grande et la plus petite valeur
                                                d’une liste.

                                                -La fonction moyenne (liste) retourne la moyenne d’une liste.

                                                Dans le programme principal :

                                                -Saisirun entier n dans l'intervalle : [2 .. 100] ;

                                                -Construirela liste en appelant la fonction listAleaFloat() ;

                                                -Afficherl'amplitude du tableau (écart entre sa plus grande et sa plus petite valeur) ;

                                                -Afficherla moyenne du tableau
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  24 février 2022 à 2:55:15

                                                  Et alors?

                                                  Ton prof ne croiera pas que c'est de toi...

                                                  from random import random
                                                  def listAleaFloat(n):
                                                      return [random() for _ in range(n+1)]
                                                  def amplitude(liste):
                                                      return max(liste) - min(liste)
                                                  def moyenne(liste):
                                                      return sum(liste) / len(liste)
                                                  while (n:=int(input("Saisir un nombre dans l'intervalle [2, 100] "))) not in range(2, 101):
                                                      print("Nombre invalide")
                                                  liste = listAleaFloat(n)
                                                  print(amplitude(liste))
                                                  print(moyenne(liste))

                                                  -
                                                  Edité par PierrotLeFou 24 février 2022 à 3:55:11

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter

                                                  Le Tout est souvent plus grand que la somme de ses parties.

                                                    24 février 2022 à 8:44:48

                                                    Pourquoi donner la solution toute faite alors ? Ou alors tu l'as faite volontairement erronée pour qu'il ne passe pas la correction ?

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      24 février 2022 à 15:03:28

                                                      Est-elle vraiment erronée? Je l'avais pourtant testée.
                                                      Le PO n'a même pas posé de question.
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter

                                                      Le Tout est souvent plus grand que la somme de ses parties.

                                                        24 février 2022 à 16:57:24

                                                        En tout cas la première fonction ne correspond pas à l'énoncé.

                                                        Mais oui en effet il n'a pas posé de question, simplement collé un énoncé sans la moindre forme de politesse. C'est pour ça que je ne comprends pas l'empressement à lui répondre, encore moins celui de fournir une réponse à l'énoncé.

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          24 février 2022 à 18:23:47

                                                          MOVIESSERIESTrailer a écrit:
                                                          > La fonction listAleaFloat(n) retourne une liste de n flottants aléatoires en utilisant la fonction
                                                          random() du module random.
                                                          J'ai écrit:
                                                          from random import random
                                                          def listAleaFloat(n):
                                                              return [random() for _ in range(n+1)]
                                                          Oui, j'en retourne un de trop ...
                                                          Je pensais le faire réagir et qu'il demande comment ça marche.
                                                          • Partager sur Facebook
                                                          • Partager sur Twitter

                                                          Le Tout est souvent plus grand que la somme de ses parties.

                                                            25 février 2022 à 23:59:30 - Message modéré pour le motif suivant : Merci de créer votre propre sujet


                                                              2 mars 2022 à 17:40:16

                                                              Bonjour,

                                                              J'ai une série d'exercices en python et je n'arrive pas à faire les exercices.

                                                              Dans cet exercice, nous revenons sur le petit jeu de devinette.

                                                              Écrire un programme qui génère de manière (pseudo) aléatoire un entier (nombre secret) compris entre 0 et 100. Ensuite, le joueur doit deviner ce nombre en utilisant le moins d’essais possible.

                                                              À chaque tour, le joueur est invité à proposer un nombre et le programme doit donner une réponse parmi les suivantes :

                                                              « Trop grand » : si le nombre secret est plus petit que la proposition et qu’on n’est pas au maximum d’essais

                                                              « Trop petit » : si le nombre secret est plus grand que la proposition et qu’on n’est pas au maximum d’essais

                                                              « Gagné en n essai(s) ! » : si le nombre secret est trouvé

                                                              « Perdu ! Le secret était nombre » : si le joueur a utilisé six essais sans trouver le nombre secret.

                                                              Exemple 1 Une partie gagnée (après la génération du nombre à deviner) :

                                                              NB : Les nombres sont les valeurs saisies par l’utilisateur, et les textes sont imprimés par le programme.

                                                              50
                                                              Trop grand
                                                              8
                                                              Trop petit
                                                              20
                                                              Trop petit
                                                              27
                                                              Gagné en 4 essai(s) !

                                                              Exemple 2 Une partie perdue (après la génération du nombre à deviner) :

                                                              50
                                                              Trop grand
                                                              24
                                                              Trop petit
                                                              37
                                                              Trop petit
                                                              43
                                                              Trop grand
                                                              40
                                                              Trop petit
                                                              41
                                                              Perdu ! Le secret était 42

                                                              Voici le code que j'ai écrit, mais ça ne marche pas :

                                                              import random
                                                              
                                                              secret = random.randint(0, 100)
                                                              NB_ESSAIS_MAX = 6
                                                              while NB_ESSAIS_MAX > 0:
                                                                  NB_ESSAIS_MAX -= 1
                                                                  var = int(input())
                                                                  if var > secret:
                                                                      print("Trop grand")
                                                                  elif var < secret:
                                                                      print("Trop petit")
                                                                  else:
                                                                      break
                                                                  
                                                              if NB_ESSAIS_MAX != 0:
                                                                  print("Gagné en ", NB_ESSAIS_MAX, " essai(s) !")
                                                              else:
                                                                  print("Perdu ! Le secret était", secret)

                                                              Et voici le résultat ça donne :

                                                              L'appel à votre programme sur l'input "50↵24↵" avec les arguments "97" a renvoyé:
                                                              Trop grand
                                                              Gagné en 4 essai(s) !

                                                              Le résultat attendu était :
                                                              Trop grand
                                                              Gagné en 2 essai(s) !

                                                              fail L'appel à votre programme sur l'input "50↵24↵11↵17↵" avec les arguments "54" a renvoyé:
                                                              Trop grand
                                                              Trop grand
                                                              Trop petit
                                                              Gagné en 2 essai(s) !

                                                              Le résultat attendu était :
                                                              Trop grand
                                                              Trop grand
                                                              Trop petit
                                                              Gagné en 4 essai(s) !

                                                              fail L'appel à votre programme sur l'input "50↵75↵62↵68↵71↵" avec les arguments "56" a renvoyé:
                                                              Trop petit
                                                              Trop grand
                                                              Trop petit
                                                              Trop petit
                                                              Gagné en 1 essai(s) !

                                                              Le résultat attendu était :
                                                              Trop petit
                                                              Trop grand
                                                              Trop petit
                                                              Trop petit
                                                              Gagné en 5 essai(s) !
                                                              fail L'appel à votre programme sur l'input "50↵24↵11↵17↵" avec les arguments "1" a renvoyé:
                                                              Trop grand
                                                              Trop grand
                                                              Trop petit
                                                              Gagné en 2 essai(s) !

                                                              Le résultat attendu était :
                                                              Trop grand
                                                              Trop grand
                                                              Trop petit
                                                              Gagné en 4 essai(s) !
                                                              fail L'appel à votre programme sur l'input "50↵24↵11↵5↵8↵9↵" avec les arguments "72" a renvoyé:
                                                              Trop grand
                                                              Trop grand
                                                              Trop grand
                                                              Trop petit
                                                              Trop petit
                                                              Perdu ! Le secret était 9

                                                              Le résultat attendu était :
                                                              Trop grand
                                                              Trop grand
                                                              Trop grand
                                                              Trop petit
                                                              Trop petit
                                                              Gagné en 6 essai(s) !
                                                              • Partager sur Facebook
                                                              • Partager sur Twitter

                                                              Exercices du cours Python / postez ici !

                                                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                              • Editeur
                                                              • Markdown