Cau, zamen tento riadok:<div><br></div><div>nasldMatrix = [[0] * velikostMatice] * velikostMatice</div><div><br></div><div>za </div><div><br></div><div>nasldMatrix = [[0 for _ in range(velikostMatice)] for _ in range(velikostMatice)]</div>
<div><br></div><div>a bude to ok :) mam pocit, ze to je problem toho, ze pri tvojom vytvoreni je potom v cykle nutne vytvarat lokalnu kopiu a ta hlavna sa tym padom neaktualizuje</div><div><br></div><div>Rene<br><br><div class="gmail_quote">
2012/11/22 Dominik Matoulek <span dir="ltr"><<a href="mailto:domitea@gmail.com" target="_blank">domitea@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Zdravim, jakozto novacek v Pythonu se snazim napsat Game of Life, nicmene mam problem s vyhodnocovanim podminky.<div><br></div><div>Tady je kod:</div><div><br></div><div><div>#!/bin/python</div><div><br></div><div>print ("Ahoj, tohle ma byt pokus o hru Game Of Life :) ")</div>
<div><br></div><div>velikostMatice = 5</div><div><br></div><div>"""</div><div>Deklarace pocatecniho pole</div><div>"""</div><div><br></div><div>pocradek1 = [0,0,0,0,0]</div><div>pocradek2 = [0,0,1,0,0]</div>
<div>pocradek3 = [0,0,1,0,0]</div><div>pocradek4 = [0,0,1,0,0]</div><div>pocradek5 = [0,0,0,0,0]</div><div><br></div><div>pocMatrix = [pocradek1, pocradek2, pocradek3, pocradek4, pocradek5]</div><div><br></div><div><br></div>
<div><br></div><div>"""</div><div>Kontrolni vypsani pole</div><div>"""</div><div><br></div><div>print ("Takto vypada pocatecni pole")</div><div><br></div><div>for kazdyradek in pocMatrix:</div>
<div><span style="white-space:pre-wrap"> </span>print (kazdyradek)</div><div><br></div><div>"""</div><div>Deklarace pole pro vypocty neboli to nasledujici pole :)</div><div>"""</div><div>
<br></div><div>nasldMatrix = [[0] * velikostMatice] * velikostMatice #Rychla deklarace pole na pocty</div><div><br></div><div>"""</div><div>Hura na podminky :D</div><div>"""</div><div><br></div>
<div>for i in range(1, velikostMatice - 1): #Takhle funguje for, vlastne to je jen foreach :D</div><div><span style="white-space:pre-wrap"> </span>for j in range(1, velikostMatice - 1):</div><div><span style="white-space:pre-wrap"> </span>sum = ( pocMatrix[i-1][j-1] + pocMatrix[i][j-1] + pocMatrix[i+1][j-1] ) + ( pocMatrix[i-1][j] + pocMatrix[i][j] + pocMatrix[i+1][j] ) + ( pocMatrix[i-1][j+1] + pocMatrix[i][j+1] + pocMatrix[i+1][j+1] )</div>
<div><span style="white-space:pre-wrap"> </span>if sum == 3:</div><div><span style="white-space:pre-wrap"> </span>nasldMatrix[i][j] = 1</div><div><span style="white-space:pre-wrap"> </span>else:</div><div>
<span style="white-space:pre-wrap"> </span>nasldMatrix[i][j] = 0</div><div><br></div><div>print (nasldMatrix)</div><div>for radek in nasldMatrix:</div><div><span style="white-space:pre-wrap"> </span>print(radek)</div></div>
<div><br></div><div>
<br></div><div>Stale to vypada v pohode, vsechno se spravne vyhodnoti, ale ta jedina podminka (if sum == 3) se proste vyhodnoti jako by vubec nebyla a provede se posledni prikaz, takze mam vsude nuly misto radku 3 jednicek. Vim ze to neni cele, chybi tam doost veci, mozna kod je prasacky (taky se to ucim :) ), ale tady jsem se zasekl a nevim si rady :(</div>
<br>_______________________________________________<br>
Python mailing list<br>
<a href="mailto:Python@py.cz">Python@py.cz</a><br>
<a href="http://www.py.cz/mailman/listinfo/python" target="_blank">http://www.py.cz/mailman/listinfo/python</a><br></blockquote></div><br></div>