angelV Posté(e) le 7 avril 2020 Signaler Posté(e) le 7 avril 2020 Bonjour à tous, Je dois rendre un dm d'informatique vendredi, et j'ai fais tous les exos à par celui-ci ... Pourriez-vous m'aider ?
E-Bahut julesx Posté(e) le 7 avril 2020 E-Bahut Signaler Posté(e) le 7 avril 2020 Bonjour, Ci-joint une possibilité de script pour la partie A : import random def frequence_somme_NEUF(taille_echantillon): n=0 for i in range(1,taille_echantillon+1): s=0 for j in range(1,4): s=s+random.randint(1,6) if s==9: n=n+1 return(n/taille_echantillon) print(frequence_somme_NEUF(1000)) Pour DIX, changer simplement NEUF en DIX et la condition if s==10. Ce qui serait sympa, c'est un petit retour pour dire ce que tu en penses.
angelV Posté(e) le 7 avril 2020 Auteur Signaler Posté(e) le 7 avril 2020 Alors déjà merci beaucoup pour votre réponse, votre script ressemble un peu à mon début et me suis corrigé. Je travaille votre script et je tenterai de faire le B... C'est la partie la plus importante et complexe je pense.
E-Bahut julesx Posté(e) le 7 avril 2020 E-Bahut Signaler Posté(e) le 7 avril 2020 OK et merci pour le retour ?. Pour info, les tests m'ont donné autour de 0,115 pour s=9 et autour de 0,125 pour s=10, donc il semble bien qu'il y ait une différence. Je ne suis pas sur que la suite soit plus complexe. Je regarderai également, mais pas avant demain après-midi, sauf si tu me dis à l'occasion que ce n'est plus utile. Bonsoir.
E-Bahut julesx Posté(e) le 8 avril 2020 E-Bahut Signaler Posté(e) le 8 avril 2020 La suite... import random def frequence_somme_NEUF(taille_echantillon): n=0 for i in range(1,taille_echantillon+1): s=0 for j in range(1,4): s=s+random.randint(1,6) if s==9: n=n+1 return(n/taille_echantillon) def frequence_somme_DIX(taille_echantillon): n=0 for i in range(1,taille_echantillon+1): s=0 for j in range(1,4): s=s+random.randint(1,6) if s==10: n=n+1 return(n/taille_echantillon) import matplotlib.pyplot as plt def comparaison_graphique_somme_9_10(taille_echantillon): for i in range(0,taille_echantillon+1): y=frequence_somme_NEUF(taille_echantillon) plt.plot(i,y,'o',color='red') y=frequence_somme_DIX(taille_echantillon) plt.plot(i,y,'bs',color='blue') comparaison_graphique_somme_9_10(100) plt.show() N.B.1 : Chez moi, l'affichage ne se fait qu'en bleu, en d'autres termes, avec ce script, ça garde la dernière couleur définie (ou alors, c'est du à la version en ligne de Python que j'utilise). N.B.2 : Si tu as l'occasion, essaie de savoir pourquoi, dans la boucle for i in range(1,n), Python s'arrête à n-1. Est-ce qu'il y a une raison spéciale ? Moi, je trouve cela illogique, on ne pouvait pas programmer cette instruction pour qu'elle aille jusqu'à n, comme dans les autres langages de programmation ?
E-Bahut julesx Posté(e) le 8 avril 2020 E-Bahut Signaler Posté(e) le 8 avril 2020 Bonsoir, Après téléchargement, installation de Python et un peu de mal pour ajouter le module matplotlib, ci-joint ce que j'obtiens avec 1000 points. J'ai bien les deux couleurs différentes, donc c'est ma version en ligne qui ne fonctionnait pas tout à fait correctement.
angelV Posté(e) le 9 avril 2020 Auteur Signaler Posté(e) le 9 avril 2020 Alors, j'ai bien regardé ce que vous m'avez envoyé mais je retrouve le même message d'erreur qui est : Traceback (most recent call last): File "K:\NSI\jour 5\Exo Toscane.py", line 21, in <module> import matplotlib.pyplot as plt ModuleNotFoundError: No module named 'matplotlib'
angelV Posté(e) le 9 avril 2020 Auteur Signaler Posté(e) le 9 avril 2020 C'est bon, le pb est réglé, j'ai juste oublié d'installer le plug-in pour le matplotlib. En tout cas merci beaucoup pour tout ce que vous avez fais... Je vais retravailler tout ça et l'envoyer à mon enseignant. Encore merci.
E-Bahut julesx Posté(e) le 9 avril 2020 E-Bahut Signaler Posté(e) le 9 avril 2020 Oui, comme dit dans mon post précédent, c'était également mon problème. Donc, tout va bien. En tout cas, le duc de Toscane avait raison, ça se voit surtout bien avec 10000 essais, mais là, il ne faut pas être pressé ! Bonne continuation.
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.