Pochopenie kodu - Python
Pochopenie kodu - Python
zdravim, mam problem. potrebujem pochopit tento zdrojak v Python-e ale v zivote som sa s tym nestretol (veci ako sys.srgv, sys.exit, ...). neviete poradit? potreboval by som to nasledne hodit do C alebo Pascal-u (teda hocicomu co budem rozumit
) diki moc.
Re: Pochopenie kodu - Python
sys.argv - argumenty v prikazovom riadkurackom napísal:zdravim, mam problem. potrebujem pochopit tento zdrojak v Python-e ale v zivote som sa s tym nestretol (veci ako sys.srgv, sys.exit, ...). neviete poradit? potreboval by som to nasledne hodit do C alebo Pascal-u (teda hocicomu co budem rozumit) diki moc.
sys.exit - ukoncenie programu
navyse je ten program dost okomentovany na to aby si ho pochopil
hej hej ked som to kukal odvtedy ako som postol sem tak mi je par veci jasnejsich, no stale nechapemtieto veci:
if len(sys.argv) != 2:
- ak je dlzka niecoho rozna od 2, ale coho?
try: g_sqSize = int(sys.argv[1])
print("Usage: " + sys.argv[0] + " <squareSize>") sys.exit(1)
- try funguje ako v C?
- sys.argv je nejake pole?
assert g_board[y][x] == 0
- toto vobec netusim co je
to je hadam vsetko comu este nechapem
if len(sys.argv) != 2:
- ak je dlzka niecoho rozna od 2, ale coho?
try: g_sqSize = int(sys.argv[1])
print("Usage: " + sys.argv[0] + " <squareSize>") sys.exit(1)
- try funguje ako v C?
- sys.argv je nejake pole?
assert g_board[y][x] == 0
- toto vobec netusim co je
to je hadam vsetko comu este nechapem
-
neutronmind
Expert
- Príspevky: 189
- Registrovaný: 05 aug 2008, 14:17
sys.argv[0]Je názov spúšťaného programu (parametre sú číslované až od 1).neutronmind napísal:...
Prečítaj si niečo o module sys http://docs.python.org/library/sys.htmlrackom napísal:if len(sys.argv) != 2:
- ak je dlzka niecoho rozna od 2, ale coho?
Skôr ako v C++. http://docs.python.org/reference/compou ... -statementrackom napísal:try: g_sqSize = int(sys.argv[1])
print("Usage: " + sys.argv[0] + " <squareSize>") sys.exit(1)
- try funguje ako v C?
Prečítaj si niečo o module sys http://docs.python.org/library/sys.htmlrackom napísal:- sys.argv je nejake pole?
Je to v podstate to isté, čo v C, C++... http://docs.python.org/reference/simple ... -statementrackom napísal:assert g_board[y][x] == 0
- toto vobec netusim co je
ok tak som si to prepisal do pascalu ale nejde mi to ... dufam ze to je dobre ... teda neviem ci to ide lebo to robi strasne dlho aj pre 4x4
na konci som si pridal sam dva vnorene cykly koli tomu aby zacal vzdy od ineho miesta ak sa vrati ... kazdopadne som to skusal aj backtracking-om ale ani tym mi to nejde, lebo by som si musel pametat vsetky chybne tahy dozadu, co sa mi zatial nechcelo a hladal som ine riesenie 
pozn: ide o to prejst s konom po sachovnici kazde pole prave 1x.
pozn: ide o to prejst s konom po sachovnici kazde pole prave 1x.
Práve som si tam všimol dve chyby:
Jedna je vo funkcii jePrazdna (máš tam sach[x,y] a predpokladám, že si to chcel sach[y,x]).
Druhá je fo funkcii Fill. Podmienka else sach[y,x]:=0; sa nemá vykonávať vtedy, keď funkcia jePrazdna vráti false. Má sa to nastaviť na nulu vždy pri ukončovaní tej rekurzie (teda až za tým for).
Jedna je vo funkcii jePrazdna (máš tam sach[x,y] a predpokladám, že si to chcel sach[y,x]).
Druhá je fo funkcii Fill. Podmienka else sach[y,x]:=0; sa nemá vykonávať vtedy, keď funkcia jePrazdna vráti false. Má sa to nastaviť na nulu vždy pri ukončovaní tej rekurzie (teda až za tým for).