Voici une autre façon de formater en utilisant le format "f-string" :
print(
f"{'Trades:':<15}{cnt:>10}",
f"\n{'Wins:':<15}{wins:>10}",
f"\n{'Losses:':<15}{losses:>10}",
f"\n{'Breakeven:':<15}{evens:>10}",
f"\n{'Win/Loss Ratio:':<15}{win_r:>10}",
f"\n{'Mean Win:':<15}{mean_w:>10}",
f"\n{'Mean Loss:':<15}{mean_l:>10}",
f"\n{'Mean:':<15}{mean_trd:>10}",
f"\n{'Std Dev:':<15}{sd:>10}",
f"\n{'Max Loss:':<15}{max_l:>10}",
f"\n{'Max Win:':<15}{max_w:>10}",
f"\n{'Sharpe Ratio:':<15}{sharpe_r:>10}",
)
Le résultat est le suivant :
Trades: 2304
Wins: 1232
Losses: 1035
Breakeven: 37
Win/Loss Ratio: 1.19
Mean Win: 0.381
Mean Loss: -0.395
Mean: 0.026
Std Dev: 0.56
Max Loss: -3.406
Max Win: 4.09
Sharpe Ratio: 0.7395
Ce que vous faites ici, c'est que la première colonne contient 15 caractères et est justifiée à gauche, tandis que la deuxième colonne (valeurs) contient 10 caractères et est justifiée à droite.
Si vous joignez des éléments de la liste et que vous souhaitez formater l'espace entre les éléments, vous pouvez utiliser `` et des techniques de formatage régulières.
Cet exemple sépare chaque nombre par 3 espaces. La clé est ici f"{'':>3}"
print(f"{'':>3}".join(str(i) for i in range(1, 11)))
de la production :
1 2 3 4 5 6 7 8 9 10