🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.python
Article #27273

odwolywanie sie w funckji do tej samej funkcji

#27273
From: Slawomir Piasecki
Date: Thu, 28 Jan 2010 12:07
83 lines
3941 bytes
czesc wszystkim

mam problem z pythonem

w skrocie mam wlasna funkcje w ktorej mam petle i w tejze petli
odwoluje sie do tej samej funkcji, i mam problem z zmienna nr

[code]
def bRun(val, name, bf, res, bfpt, info, mlt, pr, nr = {0:1}, check =
False):
  solutions = {}
  new, cz = runF(val, name, bf, res, check)
  solt = oneTab(new)
  lst = nr.keys()[-1]
  last = glMulti(nr)

  if solt["e"] > 0 and last < mlt:
    m = 1

    solutions[lst] = {"data" : solt, 'mlt' : last}
    tmp = newName(name, nr, True)

    if len(nr) == 1:
      fwrite("dane.%s.dat" % tmp, info, {"dat":val,"UZR" : "{5: %s}" %
bf})

    else:
      fwrite("dane.%s.dat" % tmp, info, {'ISW' : -1, 'NTST' : 1000,
'IRS' : 1, 'UZR' : '{5 : %s}' % bf})

    perLoop = periodInfo(cz, bfpt, last)

    if len(perLoop) > 0:
      solutions[lst]["next"] = {}
      step = 1

      for i in perLoop:
        var = getSelectData(val, i)
        nr[lst + 1] = perLoop[i][0]
        last = glMulti(nr)

        if last < mlt and lst < 3:
          tmp = newName(name, nr)

          multiPerVar(var, pr, tmp, last)
          tmpNr = nr
          solutions[lst]["next"][step] = bRun(val, tmp, bf, res, bfpt,
info, mlt, pr, tmpNr, "rtbp2")

        step += 1

      if len(solutions[lst]["next"]) == 0:
        del solutions[lst]["next"]

  return solutions
[/code]

nie wiem jak to porzadnie wytlumaczyc, wiec sprobuje to wytlumaczyc na
tym przykladzie

wiec zalozmy po pierwszym wywolaniu zmienna perLoop ma dwie zmienne,
wiec petla sie wykona dwukrotnie, pierwsze wykonanie oznaczmy A a
drugie B, teraz wykonujac A znajdujemy ze zmienna nr ma postac, {0:
1], i nowe perLoop ma 3 zmienne ktore wykonujemy i tam zmienna ma
postac {0:1, 1:x}
i tu spelniaja sie warunki ktore uniemozliwiaja mi kolejne wywolanie
funkcji bRun wiec wracam do elementu B
ale niestety tutaj napotykam problem, gdyz wg. mnie zmienna nr powinna
miec teraz postac {0:2} natomiast to co otrzymuje to jest {0:2, 1:x}
jesce zanim znajde czy nowy perLoop ma jakies elementy,

z tego wnioskuje ze zmienna nr nie jest zmienna lokalna, czego
zupelnie nie rozumiem, gdyz myslalem
ze zmienne w funkcji sa lokalne, a tu widze na swoim przykladzie ze
tak nie jest, bo gdyby tak bylo to zmienna nr po wykonaniu A i
kolejnych wywolaniach bRun powinna miec postac {0:1,1:x,....} ale w
momencie jak startuje z B powinna miec postac {0:2}

mam nadzieje ze mnie ktos zrozumie i wytlumaczy mi gdzie zle mysle,
lub gdzie popelnilem blad
dzieki za wyrozumialosc, pewnie cos tu bedzie nie zrozumiale wiec
pytajcie moze
uda mi sie jakos inaczej rozjasnic o co mi chodzi
Technical Details
Message-ID: <546bbaa8-dce5-4be1-a4ef-26cd9be394d3@p24g2000yqm.googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news2.icm.edu.pl!news.prz.edu.pl!news.nask.pl!news.nask.org.pl!news.uni-stuttgart.de!rz.uni-karlsruhe.de!feed.news.schlund.de!schlund.de!newsfeed01.sul.t-online.de!t-online.de!proxad.net!feeder1-2.proxad.net!74.125.46.134.MISMATCH!postnews.google.com!p24g2000yqm.googlegroups.com!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news2.icm.edu.pl!news.prz.edu.pl!news.nask.pl!news.nask.org.pl!news.uni-stuttgart.de!rz.uni-karlsruhe.de!feed.news.schlund.de!schlund.de!newsfeed01.sul.t-online.de!t-online.de!proxad.net!feeder1-2.proxad.net!74.125.46.134.MISMATCH!postnews.google.com!p24g2000yqm.googlegroups.com!not-for-mail
From: Slawomir Piasecki <piasekps@gmail.com>
Newsgroups: pl.comp.lang.python
Subject: odwolywanie sie w funckji do tej samej funkcji
Date: Thu, 28 Jan 2010 04:07:53 -0800 (PST)
Organization: http://groups.google.com
Lines: 83
Message-ID: <546bbaa8-dce5-4be1-a4ef-26cd9be394d3@p24g2000yqm.googlegroups.com>
NNTP-Posting-Host: 155.210.85.68
Mime-Version: 1.0
X-Trace: posting.google.com 1264680473 5239 127.0.0.1 (28 Jan 2010 12:07:53 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Thu, 28 Jan 2010 12:07:53 +0000 (UTC)
Complaints-To: groups-abuse@google.com
Injection-Info: p24g2000yqm.googlegroups.com; posting-host=155.210.85.68;  posting-account=cEvGhgoAAAAO_qlWfa_TJ-aChbR9nvzN
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.6)  Gecko/20091216 Fedora/3.5.6-1.fc11 Firefox/3.5.6,gzip(gfe),gzip(gfe)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit