Diskuze: Python - global name 'wPi' is not defined

Python Python Python - global name 'wPi' is not defined

Aktivity (1)
Avatar
Jakub Dvorský:3. června 9:31

Zdravím, když zapnu program, tak mi ptogram spadne a napíše že v metodě kterou volám není definována proměnná.

  • global name 'wPi' is not defined*

Zkusil jsem:

class Buzzer:

    import wiringpi as wPi
    inPin = 0
    wPi.wiringPiSetup()
    def BuzzerInit(int, pin):
        inPin = pin

    def BuzzerOn(self):
        wPi.digitalWrite(inPin,1)

    def BuzzerOff(self):
        wPi.wPi.digitalWrite(inPin,0)
 
Odpovědět 3. června 9:31
Avatar
Tarantula222
Člen
Avatar
Tarantula222:3. června 14:51

Nebude problém náhodou v poslednom riadku?
wPi.wPi.digital­Write(inPin,0)
Máš tam 2x 'wPi', je to tak správne?

Nahoru Odpovědět  -1 3. června 14:51
Chceš realizovat své sny? Probuď se!
Avatar
Odpovídá na Tarantula222
Jakub Dvorský:3. června 16:02

Toho jsem si nevšim,ale není to tím. Ten problém se stane už u metody BuzzerOn().
Ale děkuji, té chyby jsem si nevšiml.

 
Nahoru Odpovědět 3. června 16:02
Avatar
B42P6
Člen
Avatar
Odpovídá na Jakub Dvorský
B42P6:3. června 16:33

Musíš použiť self (alebo Buzzer):

self.wPi

alebo

Buzzer.wPi

Inak import-y by si mal dávať na začiatok súboru podľa PEP8, potom je to priehľadnejšie a nevznikajú zbytočné problémy.

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět  +2 3. června 16:33
'long long long' is too long for GCC
Avatar
Odpovídá na B42P6
Jakub Dvorský:3. června 16:38

Už to funguje, moc vám děkuji.

 
Nahoru Odpovědět 3. června 16:38
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.