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 Scrabble - Projet ISN Terminale S


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2015
    Messages : 7
    Points : 2
    Points
    2
    Par défaut Aide Scrabble - Projet ISN Terminale S
    Bonjour,

    je suis actuellement en Terminale S et je souhaiterai avoir de l'aide pour mon projet d'ISN.
    Mon groupe et moi souhaitons réaliser un scrabble.
    Nous rencontrons quelques problèmes entre autre sur le tirage de lettres aléatoire et la valeur de ces lettres.

    Voici le programme que j'ai fais pour le tirage aléatoire de lettres :

    Tirage lettre aléatoire.py

    Avec ce programme j'arrive à afficher le nombre assigner à la lettre mais je n'arrive pas à afficher la lettre. Je souhaiterai afficher la lettre et non le chiffre qui lui est assigné...

    J'ai aussi fais un programme pour les valeurs des lettres au scrabble mais je n'y arrive pas ...

    Scrabble - test valeur lettre.py


    J'ai réellement besoin de votre aide car je n'y arrive pas et que mon oral approche à grand pas !

    je vous remercie d'avance !

    Baptiste (Batmai)

  2. #2
    Membre régulier
    Homme Profil pro
    employé
    Inscrit en
    Mars 2015
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : employé

    Informations forums :
    Inscription : Mars 2015
    Messages : 75
    Points : 103
    Points
    103
    Par défaut
    Bonjour à vous,

    Hésites pas à mettre ton code via le bouton <#> dans la barre d'outils.
    Pour ma part, je ne télécharge pas les fichiers donc ne vois pas ton code.

    Si tu connais les dictionnaires:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    dico = {"A":1,"B":3,"D":2} # 1= point
    print(dico.keys()) # ou dico.values() pour les valeurs
    dict_keys(['D', 'A', 'B'])
     
    affiche les clefs via une boucle: 
    for e in dico:
        print(e, end=" : ") # ou print(dico[e]) pour les valeurs
    D : A : B : 
     
    # affiche la valeur:
    print(dico["A"])
    1
     
    # pour afficher le dico via une boucle:
     
    for cle, val in dico.items():
        print(cle," : ", val)
     
    D  :  2
    A  :  1
    B  :  3
     
    #ou sans boucle:
    print(dico)
    {'D': 2, 'A': 1, 'B': 3}
    En espérant t'avoir aidé, bon courage.

  3. #3
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2015
    Messages : 7
    Points : 2
    Points
    2
    Par défaut Programmes
    Merci de votre réponse ! Malheureusement nous n'avons pas appris en cours le language "dictionnaire".

    Voici les copier coller des programmes que j'ai fais.

    Tirage de lettres aléatoire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    from random import*
     
    a=1
    b=2
    c=3
    d=4
    e=5
    f=6
    g=7
    h=8
    i=9
    j=10
    k=11
    l=12
    m=13
    n=14
    o=15
    p=16
    q=17
    r=18
    s=19
    t=20
    u=21
    v=22
    w=23
    x=24
    y=25
    z=26
     
    lettre=randint(1,26)
    print(lettre)

    Programme valeurs des lettres :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    mot=input()
     
    Lettre=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]
    Valeur=[1,3,3,2,1,4,2,4,1,8,10,1,2,1,1,3,8,1,1,1,1,4,10,10,10,10]
     
    Lettre.index()
    Valeur[Lettre.index("")]
     
    #ch.count()#
    Je suis conscient que je ne suis pas très bon en programmation, c'est pour cela que j'ai besoin de votre aide.

    Je vous remercie d'avance !

    Bonne Journée

    Batmai

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Citation Envoyé par Batmai Voir le message
    Merci de votre réponse ! Malheureusement nous n'avons pas appris en cours le language "dictionnaire".
    ...

    Je suis conscient que je ne suis pas très bon en programmation, c'est pour cela que j'ai besoin de votre aide.
    Pour apprendre à maîtrisez les structures de bases du langage Python, il y a de très bons tutos. . C'est peut être par là qu'il vous faut commencer.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre régulier
    Homme Profil pro
    employé
    Inscrit en
    Mars 2015
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : employé

    Informations forums :
    Inscription : Mars 2015
    Messages : 75
    Points : 103
    Points
    103
    Par défaut
    Voici un petit bout de code pour t'aider, essai de le comprendre et de le reproduire, car t'aider c'est possible, te faire le travail ne t'aidera pas pour ton oral surtout si tu ne comprend pas ce bout de code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    from random import randint
     
    Lettre = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
    Valeur = [1,3,3,2,1,4,2,4,1,8,10,1,2,1,1,3,8,1,1,1,1,4,10,10,10,10]
     
    while 1:
        aleat = randint(0,25)
        reponse = input("Tirage de la lettre, tapez <Entrer> ou <Q>uitter: ")
        if reponse =="q" or reponse =="Q":
            break
        scrabb ="lettre {} : {} point(s)."
        print(scrabb.format(Lettre[aleat], Valeur[aleat]))
     
    # ce que fait le programme ci-dessus
     
    >>>
    Tirage de la lettre, tapez <Entrer> ou <Q>uitter: 
    lettre D : 2 point(s).
    Tirage de la lettre, tapez <Entrer> ou <Q>uitter: q
    >>>
    Je rejoints wiztricks sur les liens, n'hésites pas à t'informer via les livres en ligne ou tutoriel, ça t'apprendra beaucoup de chose !


  6. #6
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 826
    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 : 3 826
    Points : 7 123
    Points
    7 123
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    >>> from string import ascii_uppercase as letters
    >>> letters
    'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
    >>> list(letters)
    ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 7
    Points : 12
    Points
    12
    Par défaut
    Personnellement, j'utiliserais plus un tuple qu'une liste pour les lettres, simple marque de sûreté...

  8. #8
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2015
    Messages : 7
    Points : 2
    Points
    2
    Par défaut Réponses
    Merci à ceux qui ont répondu !

    Pour répondre à paypfouette, j'ai regardé le programme que vous avez posté, il est très bien mais j'ai un petit problème avec le "break" : notre "prof" ne veut pas que l'on mette de break car il qualifie ça de petit et que tout le monde peut faire ça ... Y'a-t-il un moyen quelconque pour arrêter la boucle sans utiliser un break ?

    Ensuite, en ce qui concerne les tutos, je suis conscient que c'est une grande source de connaissance, mais je n'ai pas beaucoup le temps en ce moment de m'y consacrer, j'ai dès lundi mes oraux de langues pour le bac ainsi que des dossiers à terminer que ce soit en Sciences de l'Ingénieur mais aussi en ISN donc c'est difficile de tout mêler.

    Encore merci !

    Batmai

  9. #9
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par Batmai Voir le message
    Pour répondre à paypfouette, j'ai regardé le programme que vous avez posté, il est très bien mais j'ai un petit problème avec le "break" : notre "prof" ne veut pas que l'on mette de break car il qualifie ça de petit et que tout le monde peut faire ça ... Y'a-t-il un moyen quelconque pour arrêter la boucle sans utiliser un break ?
    Plutôt que d'écrire while True.... et en sortir via un "break", vous pouvez toujours définir un booléen "done" et faire "while not done" et positionner doen à l'intérieur de la boucle suivant la réponse.
    Ca va ajouter plein de lignes qui ne servent à pas grand chose...

    Citation Envoyé par Batmai Voir le message
    Ensuite, en ce qui concerne les tutos, je suis conscient que c'est une grande source de connaissance, mais je n'ai pas beaucoup le temps en ce moment de m'y consacrer, j'ai dès lundi mes oraux de langues pour le bac ainsi que des dossiers à terminer que ce soit en Sciences de l'Ingénieur mais aussi en ISN donc c'est difficile de tout mêler.
    Ben peut être que depuis la rentrée de Septembre vous auriez pu y jeter un oeil, car effectivement apprendre çà prend du temps...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  10. #10
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2015
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Merci wiztricks, je vais essayer.

  11. #11
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2015
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    j'ai un peu avancé sur mon programme et j'ai à nouveau besoin d'aide.

    J'aimerais savoir comment faire pour demander l’exécution de la fonction tirage et la fonction mot lorsque je le souhaite.
    Je souhaiterai aussi savoir comment vérifier qu'un mot existe avec la fonction open dans un document texte où il y a tous les mots du dictionnaire.
    Puis comment intégrer le fait qu'au Scrabble il y a des cases "mot compte double" ou "triple" ...

    Voici mon programme avancé depuis la dernière fois :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    from random import*
     
    Lettre = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
    Valeur = [1,3,3,2,1,4,2,4,1,8,10,1,2,1,1,3,8,1,1,1,1,4,10,10,10,10]
    score=0
    scorefin=0
     
    def Tirage():    
        while 1:
            aleat = randint(0,25)
            reponse = input("Tirage de la lettre, tapez <Entrer>")
            scrabb ="lettre {} : {} point(s)."
            print(scrabb.format(Lettre[aleat], Valeur[aleat]))
            score=Valeur[aleat]+score
            print(score)
            return
     
    def Mot():
        mot=input("mot:")
        b=len(mot)
        print(b)
        for i in range (b):
                a=Lettre.index(mot[i])
                scorefin=Valeur[a]+scorefin
                print(scorefin)
                return
     
    ########## Programme Principal ##########
     
    Tirage()
    Merci d'avance !

    Batmai
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. [Python 3.X] IMPORTANT - Aide Scrabble Projet ISN Terminale S
    Par Batmai dans le forum Général Python
    Réponses: 5
    Dernier message: 25/05/2015, 14h24
  2. Aide au choix d'un projet ISN
    Par raphaelbellahsen dans le forum Programmation multimédia/Jeux
    Réponses: 15
    Dernier message: 09/09/2014, 07h33
  3. Aide projet ISN
    Par DiiKenZ dans le forum Général Python
    Réponses: 0
    Dernier message: 29/05/2014, 09h15
  4. Besoin d'aide pour projet ISN: jeu de plateau
    Par Stilishh dans le forum Programmation multimédia/Jeux
    Réponses: 4
    Dernier message: 17/05/2014, 07h39
  5. Aide python mini projet ISN
    Par Trirouson dans le forum Général Python
    Réponses: 22
    Dernier message: 19/12/2013, 20h01

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