Я делаю программу, которая берет файл с ASCII художественным алфавитом и использует его для печати слов. Требуется 3 строки ввода. Ширина, высота и желаемое слово. Моя проблема заключается в том, что я могу сделать символы напечатаны на той же строке, они печатают один за другим, как так:Печать ASCII в той же строке
Height: 8
Width: 9
Text: TOP
_________
\__ __/
) (
| |
| |
| |
| |
)_(
_______
( ___ )
| ( ) |
| | | |
| | | |
| | | |
| (___) |
(_______)
_______
( ____)
| ( )|
| (____)|
| _____)
| (
|)
|/
Это мой код:
temp = []
hi = input('Height: ')
wi = input('Width: ')
tx = input('Text: ')
fi = open("font.txt")
for i in tx:
temp = cd[i]
var1 = int(temp[0])
ra1 = (var1 * int(hi))
ra1n = (ra1 + int(hi))
temp = []
fi = open("font.txt")
lines = fi.readlines()
print(''.join(lines[ra1:ra1n]),end='')
font.txt выглядит следующим образом
_______
( ___ )
| ( ) |
| (___) |
| ___ |
| ( ) |
|) (|
|/ \|
______
( ___ \
| ( ))
| (__//
| __ (
| ( \ \
|)___))
|/ \___/
_______
( ____ \
| ( \/
| |
| |
| |
| (____/\
(_______/
______
( __ \
| ( \ )
| | ) |
| | | |
| | ) |
| (__/ )
(______/
_______
( ____ \
| ( \/
| (__
| __)
| (
| (____/\
(_______/
_______
( ____ \
| ( \/
| (__
| __)
| (
|)
|/
_______
( ____ \
| ( \/
| |
| | ____
| | \_ )
| (___) |
(_______)
|\ /|
|) (|
| (___) |
| ___ |
| ( ) |
|) (|
|/ \|
_________
\__ __/
) (
| |
| |
| |
___) (___
\_______/
_________
\__ _/
) (
| |
| |
| |
|\_) )
(____/
_
| \ /\
| \//
| (_//
| _ (
| (\ \
|/\ \
|_/ \/
_
(\
| (
| |
| |
| |
| (____/\
(_______/
_______
( )
|()() |
| || || |
| |(_)| |
| | | |
|) (|
|/ \|
_
(( /|
| \ (|
| \ | |
| (\ \) |
| | \ |
|) \ |
|/ )_)
_______
( ___ )
| ( ) |
| | | |
| | | |
| | | |
| (___) |
(_______)
_______
( ____)
| ( )|
| (____)|
| _____)
| (
|)
|/
_______
( ___ )
| ( ) |
| | | |
| | | |
| | /\| |
| (_\ \ |
(____\/_)
_______
( ____)
| ( )|
| (____)|
| __)
| (\ (
|) \ \__
|/ \__/
_______
( ____ \
| ( \/
| (_____
(_____ )
) |
/\____) |
\_______)
_________
\__ __/
) (
| |
| |
| |
| |
)_(
|\ /|
|) (|
| | | |
| | | |
| | | |
| (___) |
(_______)
|\ /|
|) (|
| | | |
(( ))
\ \_//
\ /
\_/
|\ /|
|) (|
| | _ | |
| |()| |
| || || |
|()() |
(_______)
|\ /|
(\ /)
\ (_)/
) _ (
/() \
(/ \)
|/ \|
|\ /|
(\ /)
\ (_)/
\ /
) (
| |
\_/
_______
/___ )
\/ ) |
/)
//
//
/ (_/\
(_______/
Вам нужно настроить свое мышление; вы должны печатать по строкам, а не по символу. – jonrsharpe
Я подумал об этом, но попробую, чтобы я не мог придумать, как это сделать. Все, что я пробовал, было искаженным беспорядком. –
Вместо того, чтобы писать первую (n-я) строку из одной буквы за раз, напишите первую (n-я) строку каждой буквы, разделенную некоторыми пробелами. Просто убедитесь, что ваш шрифт определяет все буквы одинаковой ширины (для правильного заполнения) и что вы добавляете, скажем, 5 пробелов всюду. – boxmein