Informatika1-2011/Gyakorlat7

A MathWikiből
(Változatok közti eltérés)
 
2. sor: 2. sor:
 
* Nyiss egy új file-t a ''gedit''-ben, mentsd el "index.html" néven  a "public_html" könyvtáradba!
 
* Nyiss egy új file-t a ''gedit''-ben, mentsd el "index.html" néven  a "public_html" könyvtáradba!
 
* Írd bele a következő kódot:
 
* Írd bele a következő kódot:
<xhtml>
+
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
  <html>
<html>
+
  <body>
<body>
+
  This is my first web page
This is my first web page
+
  </body>
</body>
+
  </html>
</html>
+
 
</xhtml>
+
  
  

A lap 2011. október 24., 23:19-kori változata

Tartalomjegyzék

Alaplépések

  • Nyiss egy új file-t a gedit-ben, mentsd el "index.html" néven a "public_html" könyvtáradba!
  • Írd bele a következő kódot:
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html>
 <body>
 	This is my first web page
 </body>
 </html>



  • Mentsd el, és futtasd a scriptedet! (python kerdez.py)
  • Most kicsit kiegészítjük a scriptet, hogy tartalmazhasson ékezetes betűket, és hogy kényelmesebben futtatható legyen (a python parancs begépelése nélkül is):
#!/usr/bin/python
#coding=UTF-8
s = input("Mondj egy számot:")
print "Ennél eggyel kisebbet mondtál: ", str(s+1)
  • Mentsd el, és adj rá futtatási jogot csak magadnak!
  • Futtasd így: ./kerdez.py

Számkitatálós játék

Írj egy python scriptet, amivel számkitalálósat lehet játszani. A script "gondoljon" egy számra 1 és 10 között (a szám generálásához használd a "random" modult, lásd lentebb), és a felhasználó által beírt tippeknek megfelelően ("kisebbet / nagyobbat mondjon") segít kitalálni a számot, de ha 4. kör után sem találta ki a játékos, akkor kiírja hogy "Veszettél", és véget ér a futás. Ha a játékos nyert, vagyis eltalálta a számot akkor azt is írjuk ki hogy hányadik körben sikerült kitalálnia, és szintén érjen véget a futás.

Segítség a véletlen számok generálásához

A véletlen számok generálásához a "random" nevű python modult fogjuk használni.á Egy python modult az import kulcsszóval importálhatsz, ezután használhatod majd az importált modul függvényeit. Általában a script elejére (de a script-futtató parancs és kódolás megadása után) írjuk az import utasításokat. Tehát a scripted így fog kezdődni:

#!/usr/bin/python
#coding=UTF-8
 
import random

A random modulból [1] pedig most csak arra a függvényre lesz szükségünk, ami egész számokat tud sorsolni egy megadott intervallumból. A mi esetünkben 1 és 10 közötti számot akarunk, tehát a kód:

szam = random.randint(1, 10)

A kódrészletben látszik, hogy egy - már importált - modul egy függvényére úgy hivatkozhatunk, hogy megadjuk a modul nevét, majd egy pontot írunk, és utána a függvényt. (A negyedik gyakorlaton a gráfok létrehozásánál is láttunk már ilyet, csak ott nem kellett importálni mert a Sage már induláskor importál egy csomó modult.)

File kezelés Pythonban

  • Írj egy python scriptet "sorszamozo.py" néven, ami beolvas egy fájlt és kiírja annak a sorait 1-től kezdve sorszámozva egy másik fájlba!

Segítség a file íráshoz és olvasáshoz

Ahhoz hogy fájlokhoz hozzáférhessünk a python kódon belül, először meg kell nyitni a fájlt. Háromféleképpen lehet megnyitni egy fájlt:

  • olvasásra ('r')
  • írásra ('w') (ha volt ilyen fájl akkor felülírja a tartalmát, vagyis törli ami eddig volt benne!)
  • hozzáfűzésre ('a') (ekkor a fájl végére lehet csak írni)

Például, ha az "elso.txt"-t szeretném olvasni, akkor így nyitom meg:

f = open('elso.txt', 'r')

Innentől kezdve az f nevű fájl-objektumot használhatjuk a soronkénti beolvasásra. Itt például a fájl első sorát beolvassuk egy "line" nevű változóba, ami egy string lesz:

line = f.readline()

Többször egymás után meghívva az f-nek a readline() függvényét, az mindig a következő sort fogja visszaadni.

A for ciklust is használhatjuk arra hogy soronként végigolvassunk egy fájlt:

for line in f:
    print line

A fájlba írás pedig így néz ki (persze itt is meg kell előtte nyitni a fájlt, figyeljünk a "w" paraméterre):

f_out = open('kimenet.txt', 'w')
f_out.write('Egy egy sor\n') # a "\n" jelenti az újsor karaktert

Fáljok olvasásakor és írásakor a python kódban néhány karaktert speciális módon kell beírni. Pl a tab karakter jele "\t", és az új sor jele (ami általában az enter billentyű leütésekor kerül a szövegbe) pedig "\n".


(Több infó itt a 7.2-es résznél: http://docs.python.org/tutorial/inputoutput.html)

Személyes eszközök