Vous créerez un fichier pour chaque projet. Le nom du fichier réponse sera au format
NOM_PRENOM_S1_PROJETx.py
.
L'objectif de ce projet est de créer un programme permettant de jouer au jeu du pendu.
Les règles sont simples :
Question 1 - Écrire une fonction est_present
. Cette fonction prend en paramètre un mot et une lettre et retourne True
si la lettre est présente dans le mot, False
sinon.
def est_present(mot:str, lettre:str) -> bool:
'''
>>> est_present('bonjour', 'b')
True
>>> est_present('bonjour', 'a')
False
'''
pass
Question 2 - Écrire une fonction remplacer
. Cette fonction prend en paramètre un mot, une lettre et un entier. Elle remplace la lettre à une certaine position par une nouvelle lettre passée en paramètre.
def remplacer(chaine:str, lettre:str, position:int) -> str:
'''
>>> remplacer('bonjour', 'y', 0)
'yonjour'
>>> remplacer('bonjour', 'p', 4)
'bonjpur'
'''
pass
Question 3 - Écrire une fonction pendu
qui permet de jouer au pendu. Cette fonction prend en paramètre le mot à retrouver.
def pendu(mot_mystere:str) -> None
pass
Question 4 - Modifier votre programme pour que le mot mystère soit un mot de 8 caractères choisis aléatoirement.
La fonction
random.choice()
du modulerandom
permet de choisir aléatoirement un caractère parmi la chaine passée en paramètre.
import random
i = random.choice("abcdef")
Question 5 - Modifier votre programme pour afficher l'état du pendu à chaque proposition de l'utilisateur.
a = """
+-------+
| |
| O
| -|-
| | |
|
==============
"""
L'objectif de ce projet est de créer un programme permettant de jouer au jeu de Nim.
Les règles sont simples :
x
bâtonnets identiques alignés devant vous.Question 1 - Créer un programme, composé de plusieurs fonctions, permettant de simuler le jeu de Nim.
L'objectif de ce projet est de créer un programme permettant de jouer au Morpion. Les règles sont simples :
Ce projet utilise les listes en Python. Les listes des types construits et permettent de sauvegarder plusieurs variables au sein d'une seule structure.
Voici la structure des listes :
ma_liste = ['pomme', 'fraise', 'banane', 'poire']
ma_liste_2 =['pomme', 5, 3.90, True]
Les listes peuvent contenir des variables de types différents.
Pour récupérer un élément d'une liste, on utilise les symboles [] en indiquant l'indice de l'élément à récupérer.
>>> ma_liste = ['pomme', 'fraise', 'banane', 'poire']
>>> ma_liste[0]
'pomme'
>>> ma_liste[2]
'banane'
Dans cette exercice, chaque ligne de notre grille de jeu sera une liste de 3 caractères _. Ce symbole indique que la case est vide.
ligne0 = ['_', '_', '_']
ligne1 = ['_', '_', '_']
ligne2 = ['_', '_', '_']
Question 1 - Écrire une fonction case_vide
qui prend en paramètre 2 entiers qui représentent respectivement le numéro d'une ligne et le numéro d'une colonne. Cette fonction retourne True
si la case est vide, False
sinon.
def case_vide(n_ligne:int, n_colonne:int) -> bool :
'''
>>> case_vide(0, 0)
True
>>> case_vide(1,1)
True
'''
pass
Question 2 - Écrire une fonction mettre_symbole
qui prend en paramètre 2 entiers qui représentent respectivement le numéro d'une ligne et le numéro d'une colonne et un caractère qui représente le caractère du joueur(X ou O). Cette fonction ne renvoie rien.
def mettre_symbole(n_ligne:int, n_colonne:int, symbole:str) -> None:
'''
>>> mettre_symbole(1, 1, 'X')
>>> print(ligne1)
['_', 'X', '_']
>>> mettre_symbole(2, 2, 'O')
>>> print(ligne2)
['_', '_', 'O']
'''
pass
Question 3 - Écrire une fonction afficher_jeu
qui affiche le contenu des 3 listes qui composent la grille de jeu.
def afficher_jeu() -> None:
'''
>>> afficher_jeu()
___
___
___
'''
pass
Question 4 - Écrire une fonction demander_ligne
qui prend en paramètre le symbole d'un joueur. Cette fonction demande au joueur dont le symbole est passé en paramètre d'entrer un numéro de ligne. Cette fonction vérifie que le nombre est correct et cohérent. S'il ne l'est pas, un message est ré-affiché. La fonction retourne le chiffre entré par l'utilisateur.
def demander_ligne(symbole:str) -> int:
pass
Question 5 - Écrire une fonction demande_colonne
ayant le même fonctionnement que la fonction demander_colonne
.
Question 6- Écrire une fonction jeu_gagnant
qui retourne True
si un des joueurs a gagné la partie, False
sinon.
def jeu_gagnant() -> bool:
pass
Question 7- Écrire une fonction jouer
qui permet de jouer au jeu du Morpion. Cette fonction fait appel aux différentes fonctions créées précédemment.
def jouer() -> None :
pass
Bonus - Modifier votre fonction jouer
afin de proposer un menu permettant de jouer de 2 manières différentes :