颜色特定字符?

时间:2016-11-12 17:11:34

标签: python

我试图制作一条#34;欢迎信息"与颜色。

我想尝试这样的文字,我希望$字符为白色,所有" | \ _ "字符为绿色

$$\   $$\                     
$$ |  $$ |                    
$$ |  $$ | $$$$$$\  $$\   $$\ 
$$$$$$$$ |$$  __$$\ $$ |  $$ |
$$  __$$ |$$$$$$$$ |$$ |  $$ |
$$ |  $$ |$$   ____|$$ |  $$ |
$$ |  $$ |\$$$$$$$\ \$$$$$$$ |
\__|  \__| \_______| \____$$ |
                    $$\   $$ |
                    \$$$$$$  |
                     \______/ 

所以这就是我到目前为止所做的事情

import sys
class color:
   GREEN = '\033[92m'

print color.GREEN + """

$$\   $$\                     
$$ |  $$ |                    
$$ |  $$ | $$$$$$\  $$\   $$\ 
$$$$$$$$ |$$  __$$\ $$ |  $$ |
$$  __$$ |$$$$$$$$ |$$ |  $$ |
$$ |  $$ |$$   ____|$$ |  $$ |
$$ |  $$ |\$$$$$$$\ \$$$$$$$ |
\__|  \__| \_______| \____$$ |
                    $$\   $$ |
                    \$$$$$$  |
                     \______/ 
"""

问题在于,由于三重引号,它使一切变为绿色,我要么是美元符号,要么只是周围的其他字符。 \ / _ -

1 个答案:

答案 0 :(得分:3)

您可以使用string.replace$替换为\033[92m$\033[0m

class color:
   GREEN = '\033[92m'
   BASE = '\033[0m'

print ("""

$$\   $$\                     
$$ |  $$ |                    
$$ |  $$ | $$$$$$\  $$\   $$\ 
$$$$$$$$ |$$  __$$\ $$ |  $$ |
$$  __$$ |$$$$$$$$ |$$ |  $$ |
$$ |  $$ |$$   ____|$$ |  $$ |
$$ |  $$ |\$$$$$$$\ \$$$$$$$ |
\__|  \__| \_______| \____$$ |
                    $$\   $$ |
                    \$$$$$$  |
                     \______/ 
""".replace('$', color.GREEN + '$' + color.BASE))