http://wiki.math.bme.hu/history/Informatika2-2012/Gyakorlat09mf?feed=atom&Informatika2-2012/Gyakorlat09mf - Laptörténet2024-03-28T21:56:06ZAz oldal laptörténete a wikibenMediaWiki 1.18.1http://wiki.math.bme.hu/index.php?title=Informatika2-2012/Gyakorlat09mf&diff=7438&oldid=prevStma, 2012. május 1., 11:47-n2012-05-01T11:47:22Z<p></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">←Régebbi változat</td>
<td colspan='2' style="background-color: white; color:black;">A lap 2012. május 1., 11:47-kori változata</td>
</tr><tr><td colspan="2" class="diff-lineno">44. sor:</td>
<td colspan="2" class="diff-lineno">44. sor:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>     _lab['dir_matrix'] = tuple(m)</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>     _lab['dir_matrix'] = tuple(m)</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>     print(_lab)</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>     print(_lab)</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></python></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">A példában használt mátrix a fájlban:</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"><python></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">02100101011101010011</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">11000001101000101010</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">01100101110110011000</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">101001100001E0000010</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">11000101010111011001</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div></python></div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div></python></div></td></tr>
</table>Stmahttp://wiki.math.bme.hu/index.php?title=Informatika2-2012/Gyakorlat09mf&diff=7435&oldid=prevStma: Új oldal, tartalma: „Egy példa arra hogyan lehetne megvalósítani a labirintus beolvasását. Itt először kilistázunk minden olyan fájlt ami '''mylab''' kiterjesztést kapott. Majd m…”2012-05-01T09:41:41Z<p>Új oldal, tartalma: „Egy példa arra hogyan lehetne megvalósítani a labirintus beolvasását. Itt először kilistázunk minden olyan fájlt ami '''mylab''' kiterjesztést kapott. Majd m…”</p>
<p><b>Új lap</b></p><div>Egy példa arra hogyan lehetne megvalósítani a labirintus beolvasását.<br />
<br />
Itt először kilistázunk minden olyan fájlt ami '''mylab''' kiterjesztést kapott. Majd megkérdezzük melyiket szeretné használni. Utána beolvassuk a fájl tartalmát és közben felépítjük a később használatos labirintus szótárt a mátrixal együtt.<br />
<br />
<python><br />
#!/usr/bin/env python<br />
import glob<br />
_lab = {}<br />
<br />
if __name__ == '__main__':<br />
# a konyvtarban levo osszes .mylab fájl egy listaba kigyujtese<br />
l = glob.glob('./*.mylab')<br />
<br />
# a kívánt labirintus kiválasztása<br />
for i in enumerate(l):<br />
print i[0], i[1]<br />
whi = int(raw_input('Melyik lab szeretned hasznalni'))<br />
<br />
m = []<br />
<br />
# with segitsegevel egyszeruen megvalosithato a try, finally blokk<br />
with open(l[whi],'r') as f:<br />
for i in f:<br />
sor = []<br />
t = 0<br />
l = len(i)<br />
p = []<br />
while t < l:<br />
# ha az egyik irany 2 akkor az a kiindulasi pont<br />
if i[t] == '2':<br />
_lab['start'] = (len(m), t/4)<br />
t += 1<br />
# ha E karaktarhez erunk akkor az a kijaratot jeloli<br />
elif i[t] == 'E':<br />
sor.append(tuple())<br />
t += 4<br />
continue<br />
p.append(0 if i[t] == '0' else 1)<br />
if not t % 4 and t > 0:<br />
sor.append(tuple(p))<br />
p = []<br />
t += 1<br />
m.append(tuple(sor))<br />
_lab['dir_matrix'] = tuple(m)<br />
print(_lab)<br />
</python></div>Stma