[python] Na vsetko cyklus for ?
Jan Martinek
honza na dp.fce.vutbr.cz
Středa Listopad 15 09:52:29 CET 2006
superman wrote:
>> line = f.readline()
>> while line != '': # nebo taky while line:
>> zpracuj(line)
>> line = f.readline()
>>
>> Takhle je to opravdu správnější.
>
> A nemáte pocit, že tohle je drbání se levou rukou za pravým uchem? Že
> prostě dvakrát opisovat co chci (tedy v tomto případě line =
> f.readline()) je prostě trochu neelegantní? Až ten výraz bude trochu
> složitější, pak teprve vynikne neelegantnost tohoto řešení.
>
> Miloslav Ponkrác
Aby se neduplikoval kód, tak v těchto situacích obvykle píšu
while True:
line = f.readline()
if not line: break
zpracuj(line)
nebo třeba
while True:
try:
zpracuj(f.readline())
except KonecSouboru:
break
Zezačátku se mi to "while True" moc nelíbilo, ale zvykl jsem si. Je to
způsob, jak napsat cyklus s podmínkou kdekoli.
Další informace o konferenci Python