У меня есть светодиод RGB, подключенный к малине Pi 3 с приведенным ниже кодом. Я хочу, чтобы пользователь задал вопрос о выборе красного, зеленого или синего, соответствующего переменной, связанной с конкретными контактами GPIO.Функция lower() не преобразует ввод в нижний регистр в сценарии python 3 для малины Pi
Когда пользователь вводит красный цвет, светодиод станет красным. Когда они войдут в синий цвет, светодиод станет синим.
В настоящее время, если я введи красный цвет, код напечатает '20' (целое число), что соответствует выходу 20 BCM. Это хорошо, но моя проблема в том, что у меня возникли проблемы с преобразованием пользовательского строкового ответа в в нижнем регистре. (т. Е. Конвертировать RED в красный цвет).
Я получаю сообщение об ошибке:
request = input("Choose a color. Red/Green/Blue".lower())
File "<string>", line 1, in <module>
NameError: name 'Red' is not defined
Приведенный ниже код является в своей простейшей форме в первом тесте, что я могу получить в нижнем регистре, вводимую пользователем.
red = 20
green = 16
blue = 21
try:
while True:
# I would like to convert user's answer (Red, Green,Blue) to a lowercase answer (ie. red, green blue)
request = input("Choose a color. Red/Green/Blue").lower()
print(type(request))
print(request)
except KeyboardInterrupt:
Любая помощь будет очень признательна.
Вы уверены, что вы используете Python 3? – melpomene
Возможный дубликат ошибки [Python input() - NameError: name '...' не определен] (http://stackoverflow.com/questions/21122540/python-input-error-nameerror-name-is-not-) – zondo
Спасибо ... Насколько я могу сказать, это python 3. Я прочитал статью: [Ошибка ввода Python(): NameError: name '...' не определен] (http://stackoverflow.com/questions/21122540/python-input-error-nameerror-name-is-not-defined), но на самом деле он не отвечает на мой вопрос. Я могу получить аналогичный результат, если я перейду на raw_input («Вопрос здесь»), но потом мне нужно написать дополнительный код. Я надеялся автоматически изменить ввод пользователя на нижний регистр, который затем переводится на значение переменной 16, 20, 21. Надеюсь, это имеет смысл. – theAussieGuy