Partage
  • Partager sur Facebook
  • Partager sur Twitter

fonction python

Anonyme
    23 mai 2018 à 18:40:16

    •def revele(chaine,mot,l):
    •if l in mot:
    •index(l)==index(chaine)
    •return chaine
    

     
    bonjour

    le code c'est ce que j'ai essayer de faire

    on me deamnde d' Écrire la fonction revele qui prend en paramètres une chaîne de caractères représentant le mot en

    cours de construction, le mot à deviner et une lettre 1. Cette fonction renvoie une chaîne qui contient le mot en

    construction avec les lettres 1 affichées à la bonne place dans le mot en construction


    >>> revele ( '-e---' , 'petit' , 't, )

    '-et-t'

    j'ai fait ca mais ca fonctionne que pour :

    >>> revele( '-e---' , 'petit' , 'a' )

    '-e--- '

    et pas pour

    >>> revele ( '-----' , 'petit' , 'e' )

    ' -e---'

    >>> revele ( '-e---' , 'petit' , 't, )

    '-et-t'

    -
    Edité par Anonyme 23 mai 2018 à 18:41:59

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      23 mai 2018 à 18:53:27

      Il manque la moitié... Pour vérifier que chaque caractère vaut la lettre proposée, on aura besoin d'une boucle for.

      Pour modifier une chaîne, eh bien on peut pas ! Pour contourner cette interdiction, on va utiliser une variable de type mutable (modifiable) comme la liste. Quand je fais sur mon interpréteur préféré,

      >>> t
      '-----'
      >>> list(t)
      ['-', '-', '-', '-', '-']
      

      À partir de là je peux utiliser les index

      >>> chars_t = list(t)
      >>> chars_t[1] = 'e'
      >>> chars_t[1]
      'e'
      >>> chars_t
      ['-', 'e', '-', '-', '-']
      

      C'est magique ! Mais on a une liste, pas une chaîne de caractères, donc deux solutions, mais la meilleure est,

      >>> ''.join(chars_t)
      '-e---'
      

      J'en dirai pas plus, sinon je donne toute la solution ;)



      • Partager sur Facebook
      • Partager sur Twitter

      fonction python

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown