IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Aide résolution d'un sujet


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club Avatar de LazyLearner
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2019
    Messages : 7
    Par défaut Aide résolution d'un sujet
    Bonsoir,

    Je suis désespérement à la recherche d'une aide pour me guider dans la résolution d'un sujet dans le cadre de mes études.
    Je ne sais pas si je suis au bon endroit, si non je m'en excuse par avance !

    J'ai commencé à étudier Python cette année et j'ai terriblement de mal à assimiler, ayant pour seul cours un livre pour enfants en anglais et très peu de temps devant moi.

    Mon sujet consiste à créer un jeu de traduction (3 langues différentes, 20 mots pour chaque langues). En cas de mauvaise réponse mettre en place le jeu du pendu afin de faire deviner le mot.
    Je n'ai pas d'autres indications !


    J'ai commencé par créer 2 listes (une pour les mots, une pour les langues), à mon avis il faut que j'utilise une fonction pour la question (devant être aléatoire)

    Malheureusement avec mon petit niveau, je ne saurai pas aller plus loin. Auriez-vous des idées ?

    Merci !

  2. #2
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Bonsoir,

    Si je comprend ce que tu dis dans ton explication, tu souhaites écrire tous les mots de toutes les langues et leurs traductions dans le code en dur ?

  3. #3
    Membre chevronné
    Homme Profil pro
    BTS SN IR
    Inscrit en
    Mai 2017
    Messages
    514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : BTS SN IR

    Informations forums :
    Inscription : Mai 2017
    Messages : 514
    Par défaut
    une liste de dictionnaires et c'est plié.

    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    [
    	{
    		"fr": "voiture",
    		"en": "car",
    		"chti": "carette",
    	},
    	{
    		"fr": "chien",
    		"en": "dog",
    		"chti": "je suis pas google trad 🤷",
    	},
    ]

  4. #4
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Citation Envoyé par flapili Voir le message
    une liste de dictionnaires et c'est plié.

    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    [
        {
            "fr": "voiture",
            "en": "car",
            "chti": "carette",
        },
        {
            "fr": "chien",
            "en": "dog",
            "chti": "je suis pas google trad 🤷",
        },
    ]
    Hello,

    Alors souhaitons lui bon courage

  5. #5
    Nouveau membre du Club Avatar de LazyLearner
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2019
    Messages : 7
    Par défaut
    Citation Envoyé par fred1599 Voir le message
    Bonsoir,

    Si je comprend ce que tu dis dans ton explication, tu souhaites écrire tous les mots de toutes les langues et leurs traductions dans le code en dur ?
    Exactement !

    @flapili, merci de ta répnse ! Je n'avais pas de problème sur cette partie mais plutot sur le fonctionnement du jeu, je ne sais pas comment procéder

  6. #6
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 833
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 833
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par LazyLearner Voir le message
    @flapili, merci de ta répnse ! Je n'avais pas de problème sur cette partie mais plutot sur le fonctionnement du jeu, je ne sais pas comment procéder
    Déjà il te faut absolument dissocier les actions. D'un côté il y a le traducteur, et de l'autre le jeu du pendu. Avec une fonction dédiée à chaque action.

    Maintenant concentrons-nous sur le pendu. C'est quoi le principe ?
    • un affichage d'un mot avec chaque lettre inconnue remplacée par un tiret. Donc il te faudra un outil gérant les lettres du mot trouvées par le joueur. Un petit "set()" fera l'affaire.
    • faire saisir une lettre (avec si on est gentil la gestion des lettres déjà saisies pour ne pas faire perdre de vie inutilement au joueur => là encore un autre "set()" et c'est réglé)
    • si la lettre est dans le mot, alors la lettre devient connue (on la rajoute dans le premier "set()"), Et si tout le mot est connu (donc plus aucune lettre du mot ne se trouvant pas dans le "set()") alors on a gagné. Et ça c'est pas compliqué à coder. Si le mot à trouver est stocké dans la variable "mot", et que les lettres déjà trouvées sont stockées dans l'ensemble "trouve", alors il suffit de regarder set(mot) - trouve. S'il y a un résultat non vide alors c'est qu'il y a encore des lettres à trouver sinon c'est bon. Et si la lettre choisie n'est pas dans le mot alors on perd une vie et si on n'a plus de vie on est pendu
    • et tout ça dans une boucle infinie (infinie seulement en théorie car on en sort quand-même soit en gagnant, soit en perdant)


    Ne reste qu'à traduire cet algorithme en Python. Dans une belle fonction "jeu()" recevant en paramètre le mot à faire deviner, et quittant avec True/False si le joueur gagne ou perd.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  7. #7
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Citation Envoyé par LazyLearner Voir le message
    Exactement !
    C'est dans le sujet qu'on t'impose cela ? Parce-qu'à vrai dire, j'avais pensé à une API Google Translate avec googletrans et une base de données SQLite3.

    Imaginons qu'après, on te demande d'y ajouter 40 000 mots supplémentaires, on fait comment ?

  8. #8
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 833
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 833
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par fred1599 Voir le message
    Imaginons qu'après, on te demande d'y ajouter 40 000 mots supplémentaires, on fait comment ?
    A la base tout le monde sera d'accord avec toi. Il est vrai qu'un outil "bdd like" est plus approprié vis à vis de l'évolutivité que tu décris.
    Toutefois j'ai l'intuition qu'il s'agit juste d'un TP d'apprentissage et que, dans ce cas précis, cette situation n'arrivera jamais
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  9. #9
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    A la base tout le monde sera d'accord avec toi. Il est vrai qu'un outil "bdd like" est plus approprié vis à vis de l'évolutivité que tu décris.
    Toutefois j'ai l'intuition qu'il s'agit juste d'un TP d'apprentissage et que, dans ce cas précis, cette situation n'arrivera jamais
    Je m'en doutais un peu, cependant l'idée de mettre les mots et leurs traductions en durs, je crois que c'est le plus mauvais choix qu'on puisse faire... À la rigueur dans un fichier avec des lignes du style "mot, trad1, trad2, trad3" aurait été une meilleure idée.

    Ce qui m'étonne, c'est que certains exercices se rapprochent absolument pas de cas concrets. Surpris par ce type d'enseignement !

Discussions similaires

  1. Aide résolution d'équation différentielle
    Par Dwixe dans le forum MATLAB
    Réponses: 0
    Dernier message: 02/10/2018, 16h31
  2. [AC-2010] Aide Résolution Requête SQL récursive
    Par Nouse dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 23/11/2016, 18h09
  3. ADO et aides diverses a ce sujet.
    Par Sunchaser dans le forum C++Builder
    Réponses: 6
    Dernier message: 16/02/2006, 15h06
  4. [JSP] Aide au sujet d'un projet
    Par besco dans le forum Servlets/JSP
    Réponses: 13
    Dernier message: 09/09/2004, 15h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo