Dusan Zatkovsky napsal(a): > DD. > > Riesili sme tu s kolegami jeden priklad, ktory na prvy pohlad bol syntakticky > nespravne. Potom som na neho narazil na > http://docs.python.org/tut/node6.html#SECTION006400000000000000000 a z > dokumentacie som zistil, ze je dokonca syntakticky spravne. > > Tak som sa s for-else chcel zoznamit a tak som si vytvoril 3 testcase: > > # cyklus sa vykona > for x in 'a': > pass > else: > print "test1" > > # cyklus sa vykona a breakne > for x in 'a': > break > else: > print "test2" > > # cyklus sa nevykona > for x in '': > pass > else: > print "test3" > > > Vysledok zodpoveda tomu, co vravi dokumentacia, ale mne to pride zvratene. > > Preco to else zavisi na break vo vnutri cyklu a nie na tom, ci sa cyklus > vykonal, alebo nie? Ked totiz na toto narazi niekto, kto sa python uci, tak > sa z toho osype ( pisem prilezitostne v pythone uz 2 roky a je to aj moj > pripad ). > > > Mozete mi niekto ozrejmit, co tym autor myslel a preco je ta logika postavena > prave takto? Intuicia mi totiz hovori, ze else by sa malo vykonat prave ked > sa nevykona ani jeden priebeh cyklu...
0 pruchodu cyklem je typicky OK predstavme si napr. nejake hledani for i in nekde: if nasel(i): print "Nasel" break else: print "Nenasel" tohle bude fungovat i pokud nekde bude prazdne _______________________________________________ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python