Boucle "while"
Résolu
Bonjour,
Tout ce que je sais sur python je l'ai appris avec les tutoriels du net.
D'après ce que j'ai lu la boucle "while" pourrait m'aider à poser 10 questions maximums avec mon petit programme.
Pourriez -vous m'expliquer je ne comprends pas
Merci pour l'aide
Tout ce que je sais sur python je l'ai appris avec les tutoriels du net.
D'après ce que j'ai lu la boucle "while" pourrait m'aider à poser 10 questions maximums avec mon petit programme.
Pourriez -vous m'expliquer je ne comprends pas
Merci pour l'aide
from random import randint p = 0 c = 0 a = randint(1,10) b = randint(1,10) # test contrôle (ok- a=4,b=6,x=24) print(a,"X",b) #print(b) x = a*b #print(x) (y) = input("résultat = ") c = c + 1 if int(y) == int(x): print("exact") p = p + 1 print("tu as : ",p ,"bonne(s)", "réponse(s) sur : ", c ,"question(s)") else: print("faux le résultat est :", a*b)
Configuration: Windows / Edge 17.17134
A voir également:
- Boucle "while"
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
- Boucle excel sans macro - Forum Excel
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
- Mise à disposition de boucle locale dédiée ✓ - Forum Freebox
- Vlc lire en boucle ✓ - Forum Lecteurs et supports vidéo
2 réponses
Bonjour,
Voici comment tu peux écrire ce programme :
Le bloc
Bonne chance
Voici comment tu peux écrire ce programme :
#!/usr/bin/env python3 # -*- coding: utf-8 -*- from random import randint NUM_QUESTIONS = 5 num_correct_answers = 0 for num_questions in range(1, NUM_QUESTIONS + 1): a = randint(1, 10) b = randint(1, 10) x = a * b try: y = int(input("%d * %d = ? " % (a, b))) except: y = None pass if x == y: num_correct_answers += 1 print("Bravo! (%d/%s) of correct answers" % (num_correct_answers, num_questions)) else: print("Nope... %d * %d = %d" % (a, b, x)) print("This is the end! (%d/%s) of correct answers" % (num_correct_answers, num_questions))
Le bloc
try ... exceptsert à rattraper les saisies de l'utilisateur qui ne sont pas un entier.
Bonne chance
Maintenant je vais prendre le temps pour bien digérer ce que tu viens de m'expliquer.
Tu avais déjà pour ainsi dire compris tout ce qu'il y avait à comprendre. Tu peux ignorer les compléments que je t'ai donné, c'était juste pour donner les racines de cette syntaxe.
Pour des besoins simples, tu peux simplement garder en tête que les %s sont substitués par les chaque élément du tuple passés derrière l'opérateur %.
Ainsi
Vu mon âge j'ai compris que j'avais encore beaucoup trop de matière à apprendre pour espérer être un jour à ta hauteur mais je ne me décourage pas j'irai le plus loin possible.
C'est un puits sans fond, mais on a tous débuté, donc il ne faut pas se laisser intimider, et surtout, que ça reste un plaisir :-)
Maintenant encore une petite question certainement idiote: Pour que mes petites filles puissent s’entraîner au calcul mental comment faire pour qu'elles puissent se servir de mon programme. Elles n habitent pas près de chez moi.
Au contraire, cette question est très pertinente.
De base, un programme python ne peut être lancé que sur une machine où python est installé (e.g. anaconda sous windows, ou le paquet
Comme il n'est pas dit que tes petites filles aient installé python (ou envie de le faire), une alternative pourrait être de générer un exécutable. Je te renvoie sur cette discussion, car personnellement, je ne les ai jamais testé.
Par contre, à ce stade, il faut garder à l'esprit que ce programme est en mode texte, ce qui nécessite de le lancer depuis un terminal (e.g. commande ms-dos sous windows). Si tu voulais faire une interface graphique, il faudrait ajouter à ce programme une petite interface graphique. Il existe plein de modules pour y parvenir, par exemple pyqt ou pygtk, etc. Par contre ceci nécessite un peu de temps pour apprendre à les maîtriser, mais il existe de nombreux tutoriels sur internet pour les découvrir...
Une solution intermédiaire serait de mettre ton programme sur une plateforme genre https://repl.it (c'est un site sur lequel on peut mettre des exercices écrits en python et les faire faire à des élèves), ainsi elles pourraient utiliser ton programme directement depuis leur navigateur.
Autre possibilité, écrire ce programme par exemple en javascript (donc un autre langage) pour qu'elle n'aient qu'à ouvrir le programme depuis leur navigateur.
Bonne chance
Tu avais déjà pour ainsi dire compris tout ce qu'il y avait à comprendre. Tu peux ignorer les compléments que je t'ai donné, c'était juste pour donner les racines de cette syntaxe.
Pour des besoins simples, tu peux simplement garder en tête que les %s sont substitués par les chaque élément du tuple passés derrière l'opérateur %.
Ainsi
print("a : %s b : %s c :%s" % (1, 2, 3))écrit
"a : 1 b : 2 c :3"
Vu mon âge j'ai compris que j'avais encore beaucoup trop de matière à apprendre pour espérer être un jour à ta hauteur mais je ne me décourage pas j'irai le plus loin possible.
C'est un puits sans fond, mais on a tous débuté, donc il ne faut pas se laisser intimider, et surtout, que ça reste un plaisir :-)
Maintenant encore une petite question certainement idiote: Pour que mes petites filles puissent s’entraîner au calcul mental comment faire pour qu'elles puissent se servir de mon programme. Elles n habitent pas près de chez moi.
Au contraire, cette question est très pertinente.
De base, un programme python ne peut être lancé que sur une machine où python est installé (e.g. anaconda sous windows, ou le paquet
python3sous linux), ainsi que les éventuels modules python qui pourraient être nécessaires à ce programme (ici, tu ne seras pas concerné car tu n'utilises que des modules de base).
Comme il n'est pas dit que tes petites filles aient installé python (ou envie de le faire), une alternative pourrait être de générer un exécutable. Je te renvoie sur cette discussion, car personnellement, je ne les ai jamais testé.
Par contre, à ce stade, il faut garder à l'esprit que ce programme est en mode texte, ce qui nécessite de le lancer depuis un terminal (e.g. commande ms-dos sous windows). Si tu voulais faire une interface graphique, il faudrait ajouter à ce programme une petite interface graphique. Il existe plein de modules pour y parvenir, par exemple pyqt ou pygtk, etc. Par contre ceci nécessite un peu de temps pour apprendre à les maîtriser, mais il existe de nombreux tutoriels sur internet pour les découvrir...
Une solution intermédiaire serait de mettre ton programme sur une plateforme genre https://repl.it (c'est un site sur lequel on peut mettre des exercices écrits en python et les faire faire à des élèves), ainsi elles pourraient utiliser ton programme directement depuis leur navigateur.
Autre possibilité, écrire ce programme par exemple en javascript (donc un autre langage) pour qu'elle n'aient qu'à ouvrir le programme depuis leur navigateur.
Bonne chance
Pourrais-tu m'expliquer le code "%d" avec (input'%d * %d = ? %(a,b))) je suppose que (a,b) sont les paramètres de %d
Avec print("Nope....%d/%s = %d (a,c,x)) % (num_correct_answers, num_questions sont les paramètres de %d et %s
Comme %d * %d sont mes paramètres de a,b dans input
Bonne soirée.
Le premier est substitué par le premier élément du tuple en tant que valeur entière décimale (j'aurais pu utiliser ), comme expliqué ici. Idem pour le second %d, avec le second élément du tuple. Cette syntaxe peut être étoffée pour spécifier le nombre de chiffres significatifs, le padding, l'alignement, etc.
Pour des variables non numériques, tu peux utiliser pour formater un élément sous forme de chaîne (ça écrira le résultat de ) ou (résultat de ).
Bonne chance
Maintenant je vais prendre le temps pour bien digérer ce que tu viens de m'expliquer.
Vu mon âge j'ai compris que j'avais encore beaucoup trop de matière à apprendre pour espérer être un jour à ta hauteur mais je ne me décourage pas j'irai le plus loin possible.
Maintenant encore une petite question certainement idiote: Pour que mes petites filles puissent s’entraîner au calcul mental comment faire pour qu'elles puissent se servir de mon programme. Elles n habitent pas près de chez moi.
Bon weekend.