La clé de la programmation est la recherche de modèles, puis leur implémentation.
définir vos besoins:
• doivent avoir des polices à espacement fixe
• bordure en haut/en bas doit être la longueur du texte + marge (espace blanc) + frontière
• Le texte doit avoir deux espaces toutes les directions (verticale et horizontale)
• vous souhaitez une alternance de périodes et des traits d'union
def spaced(s):
text = "hello"
textLength = len(text)
lineLength = textLength + 2 * (2 + 1)
height = 5
# at this point we know the first and fifth lines are the same and
# we know the first and fourth are the same. (reflected against the x-axis)
hBorder = ""
for c in range(lineLength):
if c % 2:
hBorder = hBorder + '.'
else:
hBorder = hBorder + '-'
spacer = "." + " " * (lineLength - 2) + "."
fancyText = "- " + text + " -"
return (hBorder, spacer, fancyText, spacer, hBorder)
textTuple = spaced("hello world")
for line in textTuple:
print line
Rappelez-vous, vous ne pouvez prédire l'espacement des polices largeur fixe. Si vous avez des questions sur la fonction ci-dessus, demandez dans les commentaires. À votre santé.
@Justin: Avez-vous une faute de frappe dans la première ligne de l'exemple de sortie? Ça commence avec 2 tirets. Aussi, la dernière ligne devrait-elle être la même que la première ligne ou son inverse? –