嘿,我需要帮助在我正在制作的程序中着色文本。这是一个密码程序,我试图在它们出现时使拒绝并授予红色和绿色。这是迄今为止的计划:
password = {"joseph":"jesus"}
print ("Welcome")
username = input("Please enter your username: ")
if username in password:
print ("Granted.")
mypassword = input ("Please enter your password: ")
if mypassword == password[username]:
print ("Granted.")
answer = input("Do you like it? ")
if answer == ("yes"):
print ("I thought you would.")
elif answer == ("no"):
print ("I guess I could do better.")
else:
print ("Error!")
else:
print ("Denied!!!")
else:
print ("Denied!!!")
input("Press enter to quit")
答案 0 :(得分:2)
input
和print
函数使用的Python标准输入和输出只是纯文本。它可以输出到Unix终端或Windows控制台,IDE中的窗口或文本文件。纯文本没有颜色。
然而,几乎所有的现代终端和游戏机都有办法改变颜色。几乎所有人都使用特殊的控制序列 - 不可见的文本,这意味着"切换到红色"或者"切换回默认颜色" - 并且它们是大多数使用的控制序列的公共子集。
如果你想了解ANSI/VT100/etc. control sequences,以及如何使用termcap
为几乎任何平台动态查找正确的序列,但Windows(在Windows上你只是假设ANSI),你可以。但是有一个更简单的解决方案:PyPI上有大量的模块可以为您提供全部功能。我不能推荐其中哪一个是最好的,但第一个出现在搜索中的是ansicolors
,您可以这样使用:
>>> from colors import red, blue
>>> print('Some of these words are ' + red('red') + ' and ' + blue('blue'))
Some of these words are red and blue
但希望在您的控制台上,“红色"和"蓝"将被适当地着色,如下:
答案 1 :(得分:1)
from termcolor import *
cprint('this text will be red','red')
这应该有效