Informatika2-2015/Gyakorlat02

A MathWikiből
A lap korábbi változatát látod, amilyen Csirke (vitalap | szerkesztései) 2015. február 15., 23:02-kor történt szerkesztése után volt.
(eltér) ←Régebbi változat | Aktuális változat (eltér) | Újabb változat→ (eltér)

2. gyakorlat - Függvényhívás, hibajavítás

Ezen a gyakorlaton az előző féléves Informatika 1 anyagát ismételjük, az ott tanultakat kell használni. Amire biztosan szükség lesz ma:

Ha valaki nem hallgatta ezt a tárgyat, és nincs tisztában a python alapjaival, nyugodtan kérdezzen laboron, és igyekezzen egy-két héten belül behozni a lemaradást.

Feladatok

Feladatok a CloudCoder-en megtalálhatóak. Ajánlott sorrend:

  1. kiertekel
  2. kozel
  3. vananagram

A vananagram feladathoz az eredeti kód itt van, ha valaki véletlenül eltüntette volna a rendszerben:

# Ez a függvény megszámolja egy szóban hogy melyik
# betü hányszor szerepel, és egy szótárban visszaadja
def betuszamolo(szo):
    szamolo = {}
    for betu in szo:
        # Ha már volt ilyen betü, növeljük a számát
        if betu in szamolo:
            szamolo[betu] += 1
        # Ha még nem volt ilyen betü, most már egyszer volt
        else:
            szamolo[betu] = 1
    return szamolo
 
# Ez a függvény megmondja hogy a szavak listájában van-e
# anagramma pár
def vananagram(l):
    # Ez a két for ciklus végigmegy minden i, j páron
    # hogy i < j < len(l)
    for i in range(len(l)):
        for j in range(i+1, len(l)):
            # Megszámoljuk mindkettöben a betüket, és
            # összehasonlítjuk a kettöt
            i_szamolo = betuszamolo(l[i])
            j_szamolo = betuszamolo(l[i])
            if i_szamolo == j_szamolo:
                return True
    # Ha nem volt anagramma, False-al térünk vissza
    return False

CloudCoder használata

A legtöbb python feladathoz gyakorlaton egy CloudCodernek nevezett rendszert fogunk használni. Ennek elõnye, hogy helyben ki is javítja a feladatot. Elérés:

Részletes leírás a tárgylapon.

Személyes eszközök