initiales.py

Created by schraf

Created on September 14, 2018

602 Bytes

Écrire une fonction initiales qui admet en paramètre une phrase et affiche la première lettre de chacun de ses mots en majuscule. Les mots peuvent être séparés par un ou plusieurs espaces. Par exemple : “Rentre avec tes pieds” donnera RATP.

Conseils

  • On aura une première lettre si le caractère n’est pas un espace et si le précédent est un espace. Par exemple dans “ tes”, le “t” est bien une initiale, par contre le “e” non puisqu’il est précédé d’un “t”.
  • On pourra mémoriser le caractère précédent dans une variable nommée preced
  • On ne peut pas comparer le 1er caractère de la phrase avec le précédent puisqu’il n’y en a pas. L’idée est d’initialiser preced avec un espace, ce qui revient à dire que toutes nos phrases commencent par espace.


def initiales(phrase):
  preced=" "
  sortie=""
  for c in phrase:
      if preced==" " and c!=" ":
              sortie+=c.upper()
      preced=c
  return sortie
  
# Ex : initiales("  rentre  avec tes   pieds")
# donnera RATP

# Version 2

def initialesv2(phrase):
  sortie=""
  for i,c in enumerate(phrase):
    if c!=" " and (i==0 or (i>0 and phrase[i-1]==" ")):
      sortie+=c.upper()
  return sortie

# Version 3

def initialesv3(phrase):
  sortie=""
  phrase=" "+phrase
  for i,c in enumerate(phrase):
    if c!=" " and phrase[i-1]==" ":
      sortie+=c.upper()
  return sortie