[Linux-programlama] Python'da Global DeÄŸiÅŸkenler

---------

New Message Reply About this list Date view Thread view Subject view Author view Attachment view

From: Volkan YAZICI (yazicivo@ttnet.net.tr)
Date: Tue 15 Mar 2005 - 21:08:27 EET


Merhaba,

Saatlerdir çok basit bir sorun üzerinde takıldım kaldım. IRC'de sorduğum
insanların biri bile soruma cevap vermek yerine, yok onun yerine şöyle
yapsam da olurmuş şeklinde önerilerde bulundular. Artık takıntı haline
geldi, aşağıdaki betik neden UnboundLocalError hatası verir.

""" {{{ kahrolasıBetik """
#!/usr/bin/python

primeList = [2, 3]
primeCount = len(primeList)

def gimmiOneMorePrime():
        indice, lastPrimeIndice = 1, (primeCount - 1)
        tempPrime = primeList[lastPrimeIndice] + 2

        while indice <= lastPrimeIndice:
                if tempPrime % primeList[indice] == 0:
                        indice = 1
                        tempPrime += 2
                else: indice += 1
        
        primeList.append(tempPrime)
        primeCount += 1

def checkIfPrime(givenPrime):
        indice = 0

        while givenPrime != primeList[indice]:
                if (indice + 1) == primeCount: gimmiOneMorePrime()
                elif givenPrime % primeList[indice] == 0: return False
                indice += 1
        
        return True

def main():
        if checkIfPrime(31): print "ok"
        else: print "sie"

if __name__ == "__main__": main()
""" }}} """

Not: Şu yöntemi kullanırsan daha iyi olur şeklinde gelecek cevaplar
için de teşekkür ederim. Fakat tekrar hatırlatmak istiyorum, "Yukarıdaki
program neden UnboundLocalError hatası veriyor ve nasıl kurtulunabilir
bu hatadan?". Ä°ÅŸte sorum tam olarak bu.

İyi çalışmalar.

_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama


New Message Reply About this list Date view Thread view Subject view Author view Attachment view

---------

Bu arsiv hypermail 2.1.2 tarafindan uretilmistir.