2017-09-26 4 views
1

Python을 처음 접했을 때 ... 필자의 의도는 모든 문자 나 줄 또는 ASCII가보기에 가장 적합하다고 생각하는 모든 것을 만드는 것입니다. 근본적으로 나는 colorma를 시험해 보았다. 나는 그것이 그것이 불렀다라고 생각한다. 그리고 그것은 단지 1 개의 색에 의해 기초를 두게되었다. 그래서 나는 여기서, 최선의 방법이 무엇인지 묻고 있습니다. 내가해야하는Python - 모든 문자/행을 임의의 색상으로 인쇄 하시겠습니까?

print(""" 


    _____ _    _      __ _    
/____| |   | |     /_| |    
| (___ | |_ __ _ ___| | _______ _____ _ __| |_| | _____  __ 
    \___ \| __/ _` |/ __| |//_ \ \// _ \ '__| _| |/ _ \ \ /\// 
    ____) | || (_| | (__| < (_) \ V/__/ | | | | | (_) \ V V/
|_____/ \__\__,_|\___|_|\_\___/ \_/ \___|_| |_| |_|\___/ \_/\_/ 




    """) 

이며, 그 꽤 많이 있습니다 .. 내가이를 통해 의견을 알려주십시오! :)

답변

2

colorama에서 제공하는 유효한 전경색은 colorama.Fore의 변수입니다. vars(colorama.Fore).values()을 사용하여 검색 할 수 있습니다. random.choice을 사용하여 전경색을 무작위로 선택하고 전경색을 vars으로 가져 와서 선택합니다.

그런 다음 우리는 단순히 각각의 문자에 무작위로 선택한 색상을 적용

text = """ 


    _____ _    _      __ _    
/____| |   | |     /_| |    
| (___ | |_ __ _ ___| | _______ _____ _ __| |_| | _____  __ 
    \___ \| __/ _` |/ __| |//_ \ \// _ \ '__| _| |/ _ \ \ /\// 
    ____) | || (_| | (__| < (_) \ V/__/ | | | | | (_) \ V V/
|_____/ \__\__,_|\___|_|\_\___/ \_/ \___|_| |_| |_|\___/ \_/\_/ 




    """ 

import colorama 
import random 

colors = list(vars(colorama.Fore).values()) 
colored_chars = [random.choice(colors) + char for char in text] 

print(''.join(colored_chars)) 

이 다른 색으로 모든 문자를 인쇄합니다 :

color characters

을 대신 컬러 라인을 원하는 경우에, 간단한 변경입니다.

colored_lines = [random.choice(colors) + line for line in text.split('\n')] 
print('\n'.join(colored_lines)) 

enter image description here

필요에 따라 색상 목록을 맞춤 설정할 수 있습니다. 당신이 당신의 터미널 배경 (흑백, 등)과 유사 할 수 있습니다 색상을 제거 할 경우 예를 들어, 당신은 쓸 수 있습니다 :주는

bad_colors = ['BLACK', 'WHITE', 'LIGHTBLACK_EX', 'RESET'] 
codes = vars(colorama.Fore) 
colors = [codes[color] for color in codes if color not in bad_colors] 
colored_chars = [random.choice(colors) + char for char in text] 

print(''.join(colored_chars)) 

:

enter image description here

+0

스트레이트 아름다운! 고마워요! – WeInThis

+0

나는 CMD 때문에 그냥 검은 색을 제거 할 수 있었으면 좋겠다고 생각하지만, 괜찮을 거라고 생각해. :) 검은 색을 제거하는 것만으로도 충분하다면. 굉장 할 것입니다! – WeInThis

+0

오. 나는 지금 검은 색을 가지고 있지만, 그 경우 값에서 그것을 제거하는 것이 어떻게 가능 할까? 전체 코드를 변경하는 대신 코드를 제거하는 코드가 있습니까? :) – WeInThis