Генератор искусства Text-to-ASCII в Python
Я хотел бы добавить пасхальное яйцо в один из инструментов командной строки наших разработчиков, который будет приветствовать своего пользователя, если определенная дата будет совпадать. В принципе, я ищу:
>>> print big_text("HappynBirthday")
. _________ _...._ _________ _...._
.'| |.' '-. |.' '-. .-. .-
< | .'```'. '. .'```'. '. / /
| | __ | | / /
| | .'''-. .:--.'. | | | | | | | | / /
| |/.'''. / | | | / . | / . / /
| / | | `" __ | | | |`'-.-' .' | |`'-.-' .' ` /
| | | | .'.''| | | | '-....-'` | | '-....-'` /
| | | | / / | |_ .' '. .' '. / /
| '. | '. ._, '/'-----------' '-----------' |`-' /
'---' '---'`--' `" _______ '..'
/| .--. . ___ `'.
|| |__| .'| ' |--. .-. .-
|| .--..-,.--. .| < | | | ' / /
|| __ | || .-. | .' |_ | | | | | ' __ / /
||/'__ '. | || | | | .' || | .'''-. | | | | .:--.'. / /
|:/` '. '| || | | |'--. .-'| |/.'''. | | ' .'/ | | / /
|| | || || | '- | | | / | | | |___.' /' `" __ | | ` /
|| / '|__|| | | | | | | |/_______.'/ .'.''| | /
|/'..' / | | | '.'| | | |_______|/ / / | |_ / /
' `'-'` |_| | / | '. | '. ._, '/|`-' /
`'-' '---' '---' `--' `" '..'
есть ли пакет для этого?
4 ответов
автор приложения TAAG, которое вы связали здесь. Большинство шрифтов в TAAG-это шрифты FIGlet (figlet.org). FIGlet-это приложение командной строки linux, но драйверы FIGlet написаны на нескольких языках. Я выпустил драйвер, который я написал в JavaScript здесь:
https://github.com/patorjk/figlet.js
хотя это должно быть портировано на Python для работы. Я сделал поиск библиотек Figlet Python и нашел это:
https://github.com/pwaller/pyfiglet
Я не уверен, насколько хорошо он работает, или сколько спецификации он реализует, но он выглядит довольно полным.
вот фрагмент кода из ActiveState примера баннера Python. http://code.activestate.com/recipes/577537-banner/
Я думаю, что этот вопрос немного не подходит для переполнения стека, но вы можете попробовать google "ASCII art Python" и получить такие вещи, как:http://www.youtube.com/watch?v=NEWuZfTNoJE
или вы можете попробовать сделать это сами, вот фрагмент:
rows = 13 # Maximum height of character
# 0 is a , 1 is b and so on...
alphabeth = [[
r''' ''',
r''' ''',
r''' ''',
r''' ''',
r''' ''',
r''' __ ''',
r''' .:--.'. ''',
r'''/ | \ | ''',
r'''`" __ | | ''',
r''' .'.''| | ''',
r'''/ / | |_ ''',
r'''\ \._,\ '/ ''',
r''' `--' `" ''']]
text = raw_input('Enter text:\n')
c = map(lambda x: ord(x)-ord('a'),text)
for i in range(rows):
for j in c:
print alphabeth[j][i],
print ""
Как упоминалось ранее, вы можете использовать pyFiglet для создания текста ascii в python.
например:
import pyfiglet
result = pyfiglet.figlet_format("happy birthDay", font = "crazy")
print(result)