Informatika1-2011/Gyakorlat6

A MathWikiből
(Változatok közti eltérés)
(Számkitatálós játék)
41. sor: 41. sor:
  
 
Írj egy python scriptet, amivel számkitalálósat lehet játszani.
 
Írj egy python scriptet, amivel számkitalálósat lehet játszani.
A script "gondol" egy számra 1 és 10 között (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 3 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.
+
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 ====
 
==== Segítség a véletlen számok generálásához ====

A lap 2011. október 16., 16:25-kori változata

Tartalomjegyzék

Linux parancsok

  1. Hozz létre egy könyvtárat "gy6" néven (ebben fogunk végig dolgozni) (mkdir <könyvtárnév>)
  2. Lépj be az új könyvtárba! (cd <könyvtárnév>)
  3. Próbáld ki az echo parancsot (echo "alma")
  4. Irányítsd át egy "elso.txt" nevű file-ba az echo kimenetét, hogy ne a képernyőre írjon hanem a megadott file-ba (a > jelet kell használni, utána a file nevét)
  5. Nézd meg az "elso.txt" tartalmát a less paranccsal (q billentyűvel lehet kilépni a less-ből)
  6. Futtasd le újra az előző előtti (átirányítós) parancsot, majd újra nézd meg az "elso.txt" tartalmát!
  7. Futtasd le újra az előző parancsot, de ">" helyett ">>"-t írj, majd újra nézd meg az "elso.txt" tartalmát!
  8. Mi lehet a különbség a ">" és a ">>" között? (próbálkozz az előzőekkel néhányszor, mindig megnézve a fájlt amibe írsz, amíg rá nem jössz)
  9. Írasd ki az "elso.txt" tartalmát a képernyőre a cat paranccsal!
  10. Nézd meg az "elso.txt" jogosultságait! (ls -l)

Shell script írás

  1. Nyisd meg a gedit szövegszerkesztőt!
  2. Írj az új fájlba egy echo-parancsot, majd mentsd el "masodik.sh" néven a "gy6" könyvtáradba!
  3. A konzolban listázd ki a "gy6" tartalmát részletesen!
  4. Adj mindenkinek futtatási jogot a "masodik.sh" fájlodra (chmod a+x <filenév>)
  5. Futtasd le a scriptedet! (a "gy6" könyvtárban állva ./masodik.sh , máshonnan meg kell adni az útvonalat is)

Első Python script írása

  • Nyiss egy új file-t a gedit-ben, mentsd el "kerdez.py" néven a "gy6" könyvtáradba!
  • Írd bele a következő python kódot (ne használj ékezeteket):
s = input("Mondj egy szamot:")
print "Ennel eggyel kisebbet mondtal: ", str(s+1)
  • 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, 20)

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.)

Személyes eszközök