2

私はpythonが初めてで、Raspberry PiのGPIOピン用のコードをいくつか書きましたが、実行すると次のようになります:

user@pi:~$ sudo python change.py
Which GPIO do you whant to change? 13
Exit (y/n) n
Traceback (most recent call last):
  File "change.py", line 36, in <module>
    runGPIO()
  File "change.py", line 31, in runGPIO
    var_input2 = input ("Exit (y/n) ")
  File "<string>", line 1, in <module>
NameError: name 'n' is not defined

私はpythonが初めてなので、エラーを見つけることができないようです-エラーチェッカーを使用しても、少し困惑していますコードは...

import sys
import RPi.GPIO as GPIO
GPIO.setup(13, GPIO.OUT)
GPIO.setup(15, GPIO.OUT)
GPIO.setup(16, GPIO.OUT)
GPIO.output(13, True)
GPIO.output(15, True)
GPIO.output(16, True)
var13 = True
var15 = True
var16 = True
def runGPIO():
    var_input = input ("Which GPIO do you whant to change? ")
    if (var_input == 13) or (var_input == 2):
        if var13 == True:
            GPIO.output(13, False)
        else:
            GPIO.output(13, True)
    elif (var_input == 15) or (var_input == 3):
        if var15 == True:
            GPIO.output(15, False)
        else:
            GPIO.output(15, True)
    elif (var_input == 16) or (var_input == 4):
        if var16 == True:
            GPIO.output(16, False)
        else:
            GPIO.output(16, True)
    else:
        print "Please enter a valid GPIO pin number"
    var_input2 = input ("Exit (y/n) ")
    if var_input2 == "y":
        sys.exit()a
    else:
        return
runGPIO()

コード セットの 3 つの GPIO ピン (これによりオンになります)。次にコードは、どの LED をオンまたはオフにするかをユーザーに尋ねる前に、すべての LED をオフにします。

改善などのためのヘルプの提案は大歓迎です

ありがとう

4

2 に答える 2

3

Python 2.x を使用しているようですが、2.7.3 であればとりあえず問題ありません。

バージョン 2.x では、raw_input("Enter (y/n): ")テキストを取得する場合に使用する必要があります。

input()このバージョンでは、入力を評価します。

于 2012-08-05T20:40:43.687 に答える
2

input()in 2.x は、その入力を Python コードとして解釈します。raw_input()代わりに使用してください。

于 2012-08-05T19:56:25.953 に答える