2015-05-07 50 views
16

我有下面的代碼,並試圖運行它時收到以下錯誤信息:NameError:名字「真」沒有定義

NameError: name 'true' is not defined 

我試圖使樹莓派運行HTML腳本,當它接收端口17輸入:

import RPi.GPIO as GPIO 
import time 
import os 

inputSignal = 17 
GPIO.setmode(GPIO.BCM) 
GPIO.setup(inputSignal,GPIO.IN) 
while true: 
    if (GPIO.input(inputSignal)): 
     os.system("html /home/pi/index.html") 
    else: 
     print("No Input") 
+2

應該是'而TRUE' – marmeladze

回答

35

Python的布爾常量都是大寫:TrueFalse與上殼體TF分別。

小寫變體只是變量的有效自由名稱,因此您可以將它們用於任何您想要的內容,例如, true = False(不推薦; P)。

+5

可悲的是,在3.x中,你可以不再做'__builtin __。真=返回FALSE,所以沒有進入'ctypes.pythonapi ','true = False'是讓哲學學生感到困惑的最佳選擇。 – abarnert

1

您尚未定義變量true。也許你的意思是內置的布爾值True

-1

while True:

#但是好像inifite環

+0

是的。這是接受流式輸入的非常常見的模式...'while(true){input = get_input(stream);處理(輸入); ''等等。類似於模擬信號的東西將需要儘可能經常地被無限地處理。例如,一輛自動駕駛汽車將在其相機,雷達和其他傳感器上無限循環運行,並且每秒處理數千次數據,以便能夠適當地響應發生的情況。 – AllTheTime

相關問題