2015-05-07 15 views
16

Aşağıdaki kod var ve çalıştırın çalışırken aşağıdaki hata iletisini alabilirsiniz:NameError: tanımlanmamıştır adı 'gerçek'

ben Ahududu Pi yapmaya çalışıyorum
NameError: name 'true' is not defined 

bir HTML komut olduğunda çalıştırmak port 17 giriş alır:

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

Ne yazık ki TRUE – marmeladze

cevap

35

Python'un boole sabitleri harfle gibidir: True ve False harf T ve F ile sırasıyla.

Küçük harf türündeki değişkenler yalnızca değişkenler için geçerli olan ücretsiz isimlerdir, bu nedenle bunları istediğiniz gibi kullanabilirsiniz, örn. true = False (önerilmez; P).

+5

ederken, 3.x artık __ '__builtin yapabilirsiniz' olmalıdır., = FALSE Gerçek 'ctypes.pythonapi girmeden böylece Felsefe öğrencilerine kafa karıştırmak için en iyi seçenek '' 'true = False ''. – abarnert

1

true değişkenini tanımlamadınız. Belki de gömülü boole değeri True mu demek istediniz?

-1

while True:

# ama Inifite döngü gibi görünüyor

+0

Oldu. Bu, bir akış girişini kabul etmek için çok yaygın bir modeldir ... 'while (true) {input = get_input (stream); işlem (giriş); } 've benzeri. Analog bir sinyal gibi bir şeyin süresiz olarak mümkün olduğunca sık işlem görmesi gerekecektir. Örneğin, kendi kendini süren bir araba, kameraları, radarı ve diğer sensörleri üzerinden sonsuz bir döngü üzerinde çalışacak ve verilere binlerce kez tepki vererek, olaya uygun bir şekilde tepki verebilecektir. – AllTheTime

İlgili konular