代码之家  ›  专栏  ›  技术社区  ›  krock1516

在Color python中为整数输出着色

  •  0
  • krock1516  · 技术社区  · 5 年前

    我有一个效果很好的剧本,我只想制作 The running sum is: 要着色的整数输出。

    我已经定义了类 style 我正在尝试使用它。

    代码:

    # cat calc_running_sum.py
    #!/usr/local/bin/python3.6
    import os    
    os.system("")
    
    # Group of Different functions for different styles
    class style():
        BLACK = '\033[30m'
        RED = '\033[31m'
        GREEN = '\033[32m'
        YELLOW = '\033[33m'
        BLUE = '\033[34m'
        MAGENTA = '\033[35m'
        CYAN = '\033[36m'
        WHITE = '\033[37m'
        UNDERLINE = '\033[4m'
        RESET = '\033[0m'
        
    def running_sum(n):
        running_sum = 0
        for k in range(n):
            running_sum += k
        print(f'{"The running sum is: "} { running_sum }')
        # print( stlye.RED + f'{"The running sum is: "} { running_sum }')  < - this makes entire output RED
    
    if __name__ == "__main__":
        running_sum(int(input("Enter an integer: ")))
    

    脚本输出:

    # ./calc_running_sum.py
    Enter an integer: 15
    The running sum is:  105
    

    在上述脚本中 105 是我想用红色打印的输出。

    0 回复  |  直到 4 年前
        1
  •  2
  •   furas    5 年前

    您可以在字符串的不同位置添加代码

    print(f'The running sum is: {style.RED}{ running_sum }{style.RESET}')
    

    同样没有 f-string

    print('The running sum is:', style.RED, running_sum, style.RESET)
    

    与此相同 format()

    print('The running sum is: {}{}{}'.format(style.RED, running_sum, style.RESET))
    

    您可以在同一字符串中使用不同的颜色,即绿色文本和红色总和

    print(f'{style.GREEN}The running sum is: {style.RED}{ running_sum }{style.RESET}')
    

    如果你不使用 {style.RESET} 然后在所有下一个文本 print() 也会是红色的

    print(f'The running sum is: {style.RED}{ running_sum }')
    print('This text is still red')
    print('And this text is also red')
    

    您也可以在以下情况下使用它 input()

    用户输入的红色文本和正常值

    input(f"{style.RED}Enter an integer:{style.RESET} ")
    

    用户输入的红色文本和绿色值

    input(f"{style.RED}Enter an integer:{style.GREEN} ")
    

    但之后你可能需要打印 style.RESET (不带“\n”)以在下一个字符串中再次获得正常颜色。

    input(f"{style.RED}Enter an integer:{style.GREEN} ")
    print(style.RESET, end="") 
    

    您还可以为变量指定颜色,以便在红色上显示错误值,在绿色上显示良好值

    if n >= 0:
        color = style.GREEN 
    else:
        color = style.RED
    
    print(f"Value: {color}{n}{style.RESET}")
    #print("Value: {}{}{}".format(color, n, style.RESET))