Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide Recherche
2406 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  [Python] Aide pour un programme de débutant

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Python] Aide pour un programme de débutant

n°2105490
simaxx93
Posté le 09-10-2011 à 22:57:59  profilanswer
 

Bonjour à tous,
 
Je suis étudiant en 1ère année en informatique et je dois rendre un projet de programmation (Python)
Je suis bloqué sur ce projet, s'il y a des gens qui pourrait programmer ce projet, ce serait vraiment merveilleux. Apparemment il n'est pas long à faire (pour les connaisseurs)
 
Consignes du projet :  
 
Le match de Tennis
 
À l’occasion du championnat de tennis interuniversitaire, les Autorités de l'université ont demandé
au Département d’Informatique de leur fournir une application qui peut être utilisée par
l’arbitre pendant un match afin de compter les points.
 
Un match de tennis se gagne en remportant un maximum de points, de jeux, puis de sets.
Le tournoi n’organise que des matchs où il suffit de gagner un set pour remporter la partie. Pour
gagner un set, il faut être le premier à marquer six jeux avec au moins deux jeux d’écart ; dans le
cas contraire, le set se poursuit. Des scores possibles pour remporter un set sont donc, entre autres :
6-0, 6-1, 6-2, 6-3, 6-4 et 7-5. Un set se remporte donc en gagnant un certain nombre de jeux. Afin
de remporter un jeu, il est nécessaire de marquer au moins quatre points. Lors d’un jeu, voici la
manière dont les points sont comptés :
 
- zéro : pour aucun point marqué dans le jeu ;
- quinze : pour un point marqué ;
- trente : pour deux points marqués ;
- quarante : pour trois points marqués.
 
Lorsque les deux joueurs ont marqué trois points au sein d’un même jeu (donc à 40-40), il y a
égalité. Celui qui marque le point suivant obtient un « avantage ». Pour remporter le jeu, un joueur
qui a l’avantage doit marquer un autre point. Si c’est le joueur qui n’a pas l’avantage qui marque
le point suivant, on revient à l’égalité 40-40, et ainsi de suite jusqu’à ce que l’un des deux joueurs
remporte le jeu.
 
Nous vous demandons de créer un fichier projet1.py qui devra comprendre les éléments
suivants :
 
1. Une fonction augmenter(points) qui prend en paramètre le nombre de points d’un joueur
(0, 15, 30 ou 40) et qui renvoie le nombre de points qu’aurait ce joueur en marquant un
point. Si le joueur obtient un « avantage », la fonction devra renvoyer la chaîne de caractères
’A’.
2. Une fonction jouer_jeu() sans paramètre qui simule un jeu de tennis et qui renvoie un entier
1 ou 2 respectivement dans le cas où le joueur 1 ou 2 a gagné le jeu. Cette fonction devra
utiliser la fonction augmenter() précédente. Elle devra donc aussi demander à l’utilisateur
quel joueur vient de marquer le dernier point, ce jusqu’à ce que le jeu soit terminé.
3. Une fonction fin_match(jeux1,jeux2) à deux paramètres (respectivement le nombre de
jeux marqués par le joueur 1 et le joueur 2) qui renvoie True si le match est terminé, False
sinon.
4. Un morceau de code principal qui, à l’aide des fonctions jouer_jeu() et fin_match()
simule un match de tennis à un set tel qu’expliqué précédemment et qui affiche quel joueur
remporte la partie.
 
 
Votre projet doit pouvoir s’exécuter dans un terminal en tapant « python projet1.py ». Un
exemple d’exécution de votre projet serait ainsi le suivant :
 
Score du jeu courant: 0 - 0
Qui a marqué ? 1
Score du jeu courant: 15 - 0
Qui a marqué ? 2
Score du jeu courant: 15 - 15
Qui a marqué ? 1
Score du jeu courant: 30 - 15
Qui a marqué ? 1
Score du jeu courant: 40 - 15
Qui a marqué ? 1
JOUEUR 1 GAGNE LE JEU
Score du set courant: 1 - 0
Score du jeu courant: 0 - 0
Qui a marqué ? 2
...
Qui a marqué ? 1
Score du jeu courant: 40 - 30
Qui a marqué ? 2
Score du jeu courant: 40 - 40
Qui a marqué ? 1
Score du jeu courant: A - 40
Qui a marqué ? 2
Score du jeu courant: 40 - 40
Qui a marqué ? 1
Score du jeu courant: A - 40
Qui a marqué ? 1
JOUEUR 1 GAGNE LE JEU
Score du set courant: 6 - 4
JOUEUR 1 GAGNE LE MATCH
 
 
 
D'avance merci pour votre aide..

mood
Publicité
Posté le 09-10-2011 à 22:57:59  profilanswer
 

n°2106217
carrion cr​ow
Immortal until my death
Posté le 13-10-2011 à 17:14:02  profilanswer
 

Tu veux qu'on te fasse l'exo... tu veux aussi 100 balles et un mars  :o  
 
Tu as de la chance, je suis aussi débutant et des exos pour m'exercer, ça m'intéresse. J'ai donc pris 3 grosses heures pour le faire (oui, c'est très long et j'hésite à me pendre pour stupidité  :D , mais ça faisait mini un mois que je n'avais pas regardé un bout de python...)
Je n'ai pas rencontré de grosses difficultés, juste des trucs nazes, style == à la place de =, ce genre de truc.
Le contrôle de la saisie utilisateur m'a fait chercher un moment dans mes exos et docs, pour finalement être solutionné par google (try: except ValueError:)
Les conditions de victoire et d'avantage m'ont fait écrire des if, elif, and, or pas très élégants.
Je comptais faire un tuple pour les points affichés et gérer les points dans le code avec son index, mais ton exposé impose que augmenter(points) prenne en paramètre (0, 15, 30, 40)
La fonction la plus "chiante" est jouer_jeu()
 
Alors, je ne vais pas te mettre le code mais te laisser chercher et me dire où tu bloques. Poste ce que tu as fais, je posterai après.


---------------
Mon site   dernière mise à jour le 17/10/11 - Vend clavier méca
n°2138945
clairounet​te92
Posté le 25-04-2012 à 11:49:24  profilanswer
 

bonjour,  
 
j'ai le même sujet, et j'ai du mal à organiser la facon de penser. est ce que tu pourrais me dire quel a été ton découpage du programme en modules stp?  
 
tu vois je réfléchis! :)

n°2139531
carrion cr​ow
Immortal until my death
Posté le 27-04-2012 à 17:45:43  profilanswer
 

Salut,
 
Ça faisait un moment que je n'étais pas venu voir dans la cat python et il y a un post ! et en plus j'ai retrouvé l'exo !!
 
J'avais fait trois fonctions : augmenter(point) ; jouer_jeu() ; et fin_match(jeu1, jeu2).
Après, je ne me souvient plus du truc et ça doit sûrement pouvoir se faire mieux autrement.


---------------
Mon site   dernière mise à jour le 17/10/11 - Vend clavier méca

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  [Python] Aide pour un programme de débutant

 

Sujets relatifs
Besoin d'aide dans mon codeaide
[Aide] trie d'un tableau par dateBesoin d'aide sur code
[AIDE] Mise en ligne site web JAVA-JSPEtudiante ayant besoin d'aide JEE !!!!!!
besoin d aide macro ExcelAide sur memcmp
Dessiner graphe via un programme C++faire un programme qui s'execute cotée serveur
Plus de sujets relatifs à : [Python] Aide pour un programme de débutant


Hit-Parade
Copyright © 1997-2012 Hardware.fr SARL / Groupe LDLC / LesNumeriques.com / Version anglaise du site: BeHardware