Académique Documents
Professionnel Documents
Culture Documents
Lire(p) if (a*b==p):
Fin si
Fin pour
Fin calculatrice
1
III)Améliorer l’affichage comme suit en ajoutant
2
Exercice2
L'ordinateur tire un nombre au hasard entre 1 et 50 et vous avez cinq essais pour le trouver. Après
chaque tentative, l'ordinateur vous dira si le nombre que vous avez proposé est trop grand, trop petit,
ou si vous avez trouvé le bon nombre.
Exemple de partie
J'ai choisi un nombre entre 1 et 50
A vous de le deviner en 5 tentatives au maximum !
Essai no 1
Votre proposition : 15
Trop petit
Essai no 2
Votre proposition : 22
Trop grand
Essai no 3
Votre proposition : 17
Trop grand
Essai no 4
Votre proposition : 16
Bravo ! Vous avez trouvé 16 en 4 essais
Correction
from random import randint
nbr_essais_max = 5
nbr_essais = 0
mon_nombre = randint(1, 50) # nombre choisi par l'ordinateur
ton_nombre = 0 # nombre proposé par le joueur
if ton_nombre != mon_nombre:
print("vous avez utilisé vos", nbr_essais_max)
print("J'avais choisi le nombre", mon_nombre, ".")
3
Exercice3
Jeu avec calcul de distance
L'ordinateur cache une bombe dont les coordonnées sont des entiers compris entre 0 et 100 inclus.
Le joueur propose un point. Si la distance entre la bombe et le point proposé est inférieure ou égale à
10, le programme affiche "Bravo", sinon le joueur doit proposer à nouveau un point.
Amélioration : limiter le nombre d'essais à 5.
Correction
Solution 1
from math import sqrt
from random import randint
nbr_essais_max = 5
nbr_essais = 0
# nombre choisi par l'ordinateur
a=randint(0,100)
b=randint(0,100)
distance=100
print(" choisir un nombre entre 1 et 50")
print("A vous de le deviner en", nbr_essais_max, "tentatives au maximum !")
if 10 > distance:
print("Bravo ! ", distance, "en", nbr_essais, "essai(s)")
if distance> 10:
print("vous avez utilisé vos", nbr_essais_max)
print('Coordonnes ordinateur a=', a, ' b=', b)
Solution 2
from math import sqrt
from random import randint
nbr_essais_max = 5
nbr_essais = 0
# nombre choisi par l'ordinateur
a=randint(1,100)
b=randint(1,100)
4
gagner=False
if 10 > distance:
gagner=True
print("Bravo ! ", distance, "en", nbr_essais, "essai(s)")
if gagner==False:
print("vous avez utilisé vos", nbr_essais_max)
print('Coordonnes ordinateur a=', a, ' b=', b)
Exercice4
list=['action','attend','chance','client','minute','normal','phrase','police','prince','r
egion']
print(list[nombre])
b/Correction
from random import randint
nombre=randint(0,9)
list=['action','attend','chance','client','minute','normal','phrase','police','prince','r
egion']
ch= list[nombre]
print(ch[0]+'----'+ch[5])
II)Règles du jeu du pendu
Un joueur doit deviner un mot choisi par l’ordinateur (l’ordinateur choisit le mot de la liste au-
dessous). En début de partie, le nombre de lettres est donné sous forme d'une suite de tirets on affiche
le premier caractère suivis de ‘----‘ , suivi du dernier caractère,. Ensuite à chaque tour de jeu, le joueur
5
propose une lettre. Si la lettre apparaît une ou plusieurs fois dans le mot, cette lettre sera affichée à la
place du tiret. On donne à l’utilisateur 5 essais pour trouver le mot :
Exemple :
il vous reste 5 essais :
le mot à deviner est p-----n
proposez une lettre : o
il vous reste 4 essais :
Le mot à deviner est p---on
proposez une lettre : v
il vous reste 3 essais :
Le mot à deviner est p---on
proposez une lettre : t
il vous reste 2 essais :
Le mot à deviner est p-t-on
proposez une lettre : y
il vous reste 1 essai :
Le mot à deviner est pyt-on
proposez une lettre : h
Le mot à deviner est python
Bravo!
Correction
from random import randint
nombre=randint(0,9)
list=['action','attend','chance','client','minute','normal','phrase','police','prince','r
egion']
print(list[nombre][0]+'----'+list[nombre][5])
essais=5
ch1=list[nombre]
ch2=list[nombre][0]+'----'+list[nombre][5]
for i in range(len(ch1)):
if car==ch1[i]:
ch2=ch2[:i]+car+ch2[i+1:]
if ch1==ch2:
print('Bravo')
else:
print('Perdu')
Exercice 5
jeu du LUDO
Règles et déroulement
Deux joueurs (bleu et vert) lancent aléatoirement et successivement (l’un après l’autre) un dé de six
faces.
La valeur obtenu du lancé du dé est ajoutée à la somme de chaque joueur (score).
Après le lancé du bleu si la somme du bleu (score du bleu) correspond (égale) à celle du vert alors le
bleu écrase le vert et le vert recommence à zéro.
Après le lancé du vert si la somme du vert (score du vert) correspond (égale) à celle du bleu alors le
vert écrase le bleu et le bleu recommence à zéro.
Le jeu prend fin si la somme (le score) de l’un des joueurs devient 50 ou plus.
A la fin le programme affiche les scores et le gagnant et le perdant.
Correction
from random import randint
scorevert=0
scorebleu=0
7
if scorevert>=50:
print('vert gagne')
Exercice 5
Le jeu de tir à l’arc consiste à tirer des flèches en utilisant un arc vers un endroit cible.
Un club de tir à l’arc organise une compétition entre ses joueurs. Cette compétition consiste à donner à chaque
joueur trois 3 essai de tir.
A chaque tir, le joueur gagne de 0 à 5 (un nombre aléatoire) points selon l’endroit touché par la flèche sur une cible
composée de 5 cercles concentriques comme l’illustre la figure ci-contre.
2 5
4
1
3
0
Après le 3ème essai, un score est calculé pour chaque joueur représentant la somme des résultats de ses trois essais, et
ce pour classer les joueurs.
On se propose d’écrire un programme Python permettant :
• de remplir un tableau A par N noms de joueurs participant à cette compétition (avec 2 ≤ N ≤ 20),
• de calculer le score de chaque joueur sachant que le résultat d’un essai est un entier positif inférieur ou égal à 5,
• d’afficher la liste des joueurs ayant le score maximal.
Exemple :
Pour N = 4 et le tableau A suivant :
Correction
from random import randint
def saisir_n():
global n
while True:
8
n = int(input('Donner n : '))
if 2 <= n <= 20:
break
def saisir_tab():
global tnom
tnom = [''] * n
for i in range(n):
ch = input(' Donner nom: ')
tnom[i] = ch
def jouer():
global t
for j in range(n):
print('joueur :', tnom[j])
for i in range(3):
a = randint(0, 10)
t[j] = t[j] + a
print('Essai ', i + 1, ': ', a)
def afficher():
print('score finale: ')
for i in range(n):
print('score finale du joueur: ', tnom[i], ' Score: ', t[i])
def gagnant():
print('gagnant: ')
maximal = t[0]
for i in range(n):
if t[i] > maximal:
maximal = t[i]
for i in range(n):
if t[i] == maximal:
print(tnom[i], ' avec un score de ', t[i])
# programme principal
saisir_n()
t = [0] * n
tnom = [''] * n
saisir_tab()
jouer()
afficher()
gagnant()