こんにちは、アスタリスク アルファベットを作成するリストの辞書を出力する ASCII バナーに取り組んでいます。今のところ、縦に印刷できましたが、横に印刷するのに苦労しています。
誰か助けてくれませんか?
これは私がこれまでに持っているものです。
水平方向に印刷するための私のアプローチは、リストの最初の要素をすべて印刷してから 2 番目の要素を印刷する連結代入でした。
しかし、ネストされたループに入れると、最初の行にさらに連結されるため、私のロジックに欠陥があるようです
letter_dict = {'A':
["***** ",
"* * ",
"***** ",
"* * ",
"* * "],
'B':["*** ",
"* * ",
"**** ",
"* * ",
"**** "],
'C':["***** ",
"* ",
"* ",
"* ",
"***** "],
'D':["**** ",
"* * ",
"* * ",
"* * ",
"**** "],
'E':["***** ",
"* ",
"***** ",
"* ",
"***** "],
'F':["***** ",
"* ",
"***** ",
"* ",
"* "],
'G':["***** ",
"* ",
"* *** ",
"* * * ",
"***** "],
'H':["* ",
"* ",
"***** ",
"* ",
"* "],
'I':["***** ",
" * ",
" * ",
" * ",
"***** "],
'J':["***** ",
" * ",
" * ",
" * ",
"*** "],
'K':["* * ",
"* * ",
"* * ",
"* * ",
"* * "],
'L':["* ",
"* ",
"* ",
"* ",
"***** "],
'M':["* * ",
"* * * ",
"* * ",
"* * ",
"* * "],
'N':["* ",
"** ",
"* * ",
"* * ",
"* * "],
'O':["***** ",
"* * ",
"* * ",
"* * ",
"***** "],
'P':["***** ",
"* * ",
"***** ",
"* ",
"* "],
'O':["***** ",
"* * ",
"* * ",
"* ** ",
"*** * "],
'R':["***** ",
"* * ",
"***** ",
"* * ",
"* * "],
'S':["***** ",
"* ",
"***** ",
" * ",
"***** "],
'T':["***** ",
" * ",
" * ",
" * ",
" * "],
'U':["* * ",
"* * ",
"* * ",
"* * ",
"***** "],
'V':["* * ",
"* * ",
"* * ",
" * * ",
" * "],
'W':["* * ",
"* * ",
"* * ",
"* * * ",
" * * "],
'X':["* * ",
" * * ",
" * ",
" * * ",
"* * "],
'X':["* * ",
" * * ",
" * ",
" * ",
" * "],
'Z':["***** ",
" * ",
" * ",
" * ",
"***** "]}
def print_banner(str_input, horizontal):
str_input = str_input.upper()
if horizontal != True:
for i in range(len(str_input)):
for j in range(6):
print(letter_dict[str_input[i]][j])
else:
horizontal_line = ""
for m in range(len(str_input)):
horizontal_line += letter_dict[str_input[m]][0]
print(horizontal_line)
print_banner("ABCD", True)