Au cours de votre périple, vous rencontrez un groupe d'amateurs de fléchettes. Ces joueurs sont de grands passionnés et aiment jouer sur des cibles de tailles variées. Cependant, leurs cibles se font vieilles et mériteraient bien d'être changées ! Vous profitez donc de votre passage parmi eux pour leur imprimer de nouvelles cibles.
Les cibles à imprimer sont de la forme suivante (ici avec 4 lettres) :
aaaaaaa abbbbba abcccba abcdcba abcccba abbbbba aaaaaaa
Votre programme doit lire un unique entier : le nombre de lettres nbLettres
(1 <= nbLettres <= 26
) à utiliser. Il doit ensuite afficher la cible correspondante (comme indiqué sur la figure ci-dessus).
nb_lettres = int(input()) dernière_pos = 2 * (nb_lettres - 1) def lettre(i, j): """renvoie la lettre à placer à la position (i, j)""" # on utilise 3 symétries if i >= nb_lettres: i = dernière_pos - i # axe horizontal if j >= nb_lettres: j = dernière_pos - j # axe vertical k = min(i, j) # axe diagonal return chr(k + ord('a')) for i in range(dernière_pos + 1): print("".join([lettre(i, j) for j in range(dernière_pos + 1)]))
0
à dernière_pos = 2 * (nb_lettres - 1)
inclus.