我具有連接到樹莓裨3與下面碼的RGB LED。我想要做的是向用戶提供一個選擇紅色,綠色或藍色的問題,對應於鏈接到特定GPIO引腳的變量。下()函數不是把輸入在Python腳本3爲小寫爲樹莓裨
當用戶進入,紅色,LED將變成紅色。當他們進入藍色時,LED將變爲藍色。
目前如果我輸入紅色,代碼將打印'20'(整數),這對應於BCM引腳20.這是好的,但我的問題是,我無法將用戶的字符串響應轉換爲首先小寫。 (即,將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的輸入()錯誤 - NameError:未定義名稱 '...'](http://stackoverflow.com/questions/21122540/python-input-error-nameerror-name-is-not-定義) – zondo
謝謝......據我可以告訴它的python 3.我讀過這篇文章:[Python輸入()錯誤 - 名稱錯誤:名稱'...'未定義](http://stackoverflow.com/questions/21122540/python-input-error-nameerror-name-is-not-defined),但它並沒有真正回答我的問題。如果我切換到raw_input(「Question here」),我可以得到類似的結果,但是我必須編寫額外的代碼。我希望能夠自動將用戶的輸入改爲小寫,然後將其轉換爲變量值16,20,21。我希望這是有道理的。 – theAussieGuy