J'ai posé cette question plus tôt, mais la réponse que j'ai reçue n'a pas fonctionné correctement, j'ai donc recommencé complètement. J'ai maintenant un code plus développé mais ne peut toujours pas comprendre ce qui est erroné et comment entourer un bonjour et dans une boîte comme ceci:Dessinez une boîte autour de la ligne de message
La question initiale était: Étant donné un message qui peut contenir plusieurs lignes , utilisez la fonction split() pour identifier les lignes individuelles et utilisez l'une des approches de formatage que nous avons apprises dans le cadre de votre solution pour créer la chaîne qui, une fois imprimée, dessine une boîte autour des lignes du message, toutes centrées. La boîte utilise des barres verticales et des tirets sur les côtés (|, -), des plusses dans les coins (+), et il y a toujours une colonne d'espaces à gauche et à droite de la ligne la plus large du message. Toutes les lignes sont centrées.
Voici le code que j'ai trouvé. Je pense qu'il est sur la bonne voie, mais je reçois des erreurs en particulier avec la fonction ver
def border_msg(msg):
count=len(msg)
for i in range(0,len(msg)):
count+=1
count = count
dash="-"
for i in range (0,count+1):
dash+="-"
h="{}{}{}".format("+",dash,"+")
count=count+2
ver="{}{:^'count'}{}".format("|",msg,"|")
print (ver)
print(border_msg('a'))
print(border_msg("hello"))
BTW: 'count = len (msg)' – furas
Merci pour le conseil que je viens de réviser ce – famguy74
'{:^'count'}' ??? ce n'est pas Bash - vous ne pouvez pas insérer de valeur en utilisant ''''. – furas