Article View: pl.comp.lang.python
Article #27273odwolywanie sie w funckji do tej samej funkcji
From: Slawomir Piasecki
Date: Thu, 28 Jan 2010 12:07
Date: Thu, 28 Jan 2010 12:07
83 lines
3941 bytes
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-mailShow 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