Могу ли я использовать пользовательский ввод в качестве цвета в модуле colorama? - PullRequest
0 голосов
/ 04 мая 2020

Я пытаюсь написать программу с использованием модуля colorama, который печатает входное сообщение пользователя выбранного цвета. Есть ли способ сделать это, кроме использования нескольких операторов If. Вот мой код на данный момент:

From Colorama Import Fore, Init 
msg = input("Enter Message here")
color = input("Enter colour (list of all color options)")
color = color.upper()
Print(Fore.color + msg)

Сейчас мой код выдает мне ошибку в последней строке из-за того, что цвет не является распознанным цветом для Fore. ключевое слово, но я надеялся, что он будет использовать пользовательский ввод цвета.

Любая помощь будет оценена

Ответы [ 2 ]

0 голосов
/ 05 мая 2020

color переменная не совпадает с .color свойство Fore

ie:

  • Установка color означает, что у вас есть переменная с некоторыми string
  • Вызов Fore.color или получение атрибута просто доступ к значению свойства для Fore class

Вы должны получить список вариантов цвета из Colorama в виде строки, а затем просто используйте переменную color

0 голосов
/ 04 мая 2020

Если я правильно понимаю, это то, что вы хотели бы сделать:

From Colorama Import Fore, Init 

msg = input("Enter Message here")
color = input("Enter colour (list of all color options)")
color = color.upper()
Print(getattr(Fore, color) + msg)
...