IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

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

Aktivity
Avatar
Jakub Dvorský:3.6.2018 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.6.2018 9:31
Avatar
Tarantula222
Člen
Avatar
Tarantula222:3.6.2018 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
3.6.2018 14:51
Chceš realizovat své sny? Probuď se!
Avatar
Odpovídá na Tarantula222
Jakub Dvorský:3.6.2018 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.6.2018 16:02
Avatar
B42P6
Člen
Avatar
Odpovídá na Jakub Dvorský
B42P6:3.6.2018 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í
+2,50 Kč
Řešení problému
Nahoru Odpovědět
3.6.2018 16:33
'long long long' is too long for GCC
Avatar
Odpovídá na B42P6
Jakub Dvorský:3.6.2018 16:38

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

 
Nahoru Odpovědět
3.6.2018 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.