2012-07-08 29 views
8

Tôi muốn thêm một quả trứng phục sinh vào một công cụ dòng lệnh của nhà phát triển của chúng tôi, công cụ này sẽ chào người dùng nếu một ngày nhất định được khớp. Về cơ bản, tôi đang tìm kiếm:Trình tạo nghệ thuật văn bản thành ASCII bằng Python

>>> print big_text("Happy\nBirthday")                     

    .     _________ _...._ _________ _...._      
.'|     \  |.'  '-. \  |.'  '-. .-.   .- 
< |     \  .'```'. '.\  .'```'. '.\ \  // 
| |    __  \  |  \  \\  |  \  \\ \ // 
| | .'''-. .:--.'.  |  |  | | |  |  | | \ \ // 
| |/.'''. \/| \ | |  \ / . |  \ / . \ \//  
|/ | | `" __ | | |  |\`'-.-' .' |  |\`'-.-' .'  \ `/ 
| |  | | .'.''| | |  | '-....-'`  |  | '-....-'`  \/  
| |  | |// | |_ .'  '.    .'  '.    //  
| '. | '.\ \._,\ '/'-----------'   '-----------'   |`-'/  
'---' '---'`--' `"     _______      '..'   
/|  .--.     .  \ ___ `'.        
||  |__|     .'|   ' |--.\ \   .-.   .-  
||  .--..-,.--.  .| < |   | | \ '   \ \  //  
|| __ | || .-. | .' |_ | |   | |  | ' __ \ \ //  
||/'__ '. | || | | | .'  || | .'''-. | |  | | .:--.'. \ \ //  
|:/` '. '| || | | |'--. .-'| |/.'''. \ | |  ' .'/ | \ | \ \//   
||  | || || | '- | | |/ | | | |___.' /' `" __ | | \ `/  
||\ /'|__|| |  | | | |  | |/_______.'/ .'.''| |  \/   
|/\'..'/ | |  | '.'| |  | |\_______|/ // | |_ //   
' `'-'`  |_|  | /| '. | '.   \ \._,\ '/|`-'/   
         `'-' '---' '---'   `--' `" '..'    

Có gói nào không?

Credit where credit is due.

+0

bạn đã tạo ví dụ như thế nào? – Triptych

+1

@Triptych: xem liên kết ở cuối bài đăng? –

+0

liên quan: [Có thư viện python cho phép dễ dàng in văn bản ascii-nghệ thuật không?] (Http://stackoverflow.com/q/9632995/4279) – jfs

Trả lời

10

Tác giả của ứng dụng TAAG bạn đã liên kết tại đây. Hầu hết các phông chữ trong TAAG là phông chữ FIGlet (figlet.org). FIGlet là một ứng dụng Linux dòng lệnh, nhưng các trình điều khiển FIGlet đã được viết bằng nhiều ngôn ngữ. Tôi thả người lái xe tôi đã viết trong JavaScript ở đây:

https://github.com/patorjk/figlet.js

Dù rằng sẽ cần phải được chuyển đến Python để làm việc. Tôi đã làm một tìm kiếm cho các thư viện FIGlet Python và thấy điều này:

https://github.com/pwaller/pyfiglet

Tôi không chắc chắn nó hoạt động tốt như thế nào, hoặc có bao nhiêu spec nó thực hiện, nhưng có vẻ khá hoàn chỉnh.

2

Tôi nghĩ rằng câu hỏi này là một chút tắt chủ đề cho Stack   Overflow, nhưng bạn có thể thử google "Python nghệ thuật ASCII" và nhận được những thứ như: http://www.youtube.com/watch?v=NEWuZfTNoJE

HOẶC bạn có thể thử để làm điều đó cho mình, đây là một phác thảo:

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 "" 
Các vấn đề liên quan