Prisijungti

reiksmes grazinimas is def

  • 7 Kov '10

gal kas galetu paaiskinti kaip grazinti teisingai reiksmes is def, kad jas butu galima toliau naudoti "maine". na tarkim pagrindinej programos dalyje yra kreipinys:

detecting_blacklisted_devices()

toliau uz pagrindines programos yra toks def:

def detecting_blacklisted_devices():
    try:
        database = MySQLdb.connect (host = "localhost", user = "root", passwd = "labas123", db = "btcast")
        cursor= database.cursor()
        cursor.execute ("SELECT BDADDR, Blacklisted FROM Devices")
        rows = cursor.fetchall ()
        for row in rows:
            if row[1] == 'true':
                gooddevice=0
        cursor.close ()
           database.close ()

    except MySQLdb.Error, e:
             print "Error %d: %s" % (e.args[0], e.args[1])
    return gooddevice

man reikia kad grazintu gooddevice reiskme. arba 0 jei tenkina if salyga arba vieneta jei netenkina. problema ta, kad jei per parametrus neperduodu kintamojo gooddevice i def tai raso kad tokio kintamojo nera, jei pagrindinej programoj gooddevice padarau lygu vienetui, tai po return kai gryzta i pagrindine programa, net jei ir buvo patenkinta if salyga ir priskirta reiskme nulis, vis tiek raso kad gooddevice yra vienetas. zodziu problema ta, kaip grazinti kintamaji su reiksme is def, kad ji toliau butu galima naudoti pagrindinej programoj.

  • 7 Kov '10

Siūlau pasiskaityti:
*http://docs.python.org/tutorial/controlflow.html#defining-functions

Štai paprastas pavyzdys:

def suma(a, b):
    return a+b

s = suma(2, 2)
Atsakyti