Informatika2-2015/Gyakorlat01

A MathWikiből

Tartalomjegyzék

1. gyakorlat - Ismétlé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.

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.

Feladatok megoldása

nagybetu

def nagybetu(s):
    return str.isupper(s[0])

udvarias

def udvarias(l):
    return ["Ms. " + name for name in l]

leltar_frissites

Megoldás listaértelmezéssel:

def leltar_frissites(leltar, ujszam):
    return [ujszam[elem] if elem in ujszam else elem for elem in leltar]

Megoldás listaértelmezés nélkül:

def leltar_frissites(leltar, ujszam):
    uj_leltar = []
    for elem in leltar:
        if elem in ujszam:
            uj_leltar.append(ujszam[elem])
        else:
            uj_leltar.append(elem)
    return uj_leltar

leltar_sorszam

def leltar_sorszam(szamok):
    ujszam = {}
    i = 100
    for szam in szamok:
        ujszam[szam] = i
        i = i+1
    return ujszam

leltar_egyben

def leltar_frissites(leltar, ujszam):
    return [ujszam[elem] if elem in ujszam else elem for elem in leltar]
 
def leltar_sorszam(szamok):
    ujszam = {}
    i = 100
    for szam in szamok:
        ujszam[szam] = i
        i = i+1
    return ujszam
 
def leltar_egyben(leltar):
    szamok = []
    for elem in leltar:
        if elem not in szamok:
            szamok.append(elem)
 
    szamok.sort()
 
    ujszam = leltar_sorszam(szamok)
 
    return leltar_frissites(leltar, ujszam)

Házi feladatok megoldása

szorzo

def szorzo(l, k):
   return [i * k for i in l]

atment

Megoldás listaértelmezéssel:

def atment(pontok, hatar):
    nevek = [nev for nev in pontok if pontok[nev] >= hatar ]
    nevek.sort()
    return nevek

Megoldás listaértelmezés nélkül:

def atment(pontok, hatar):
    nevek = []
    for nev in pontok:
        if pontok[nev] >= hatar:
            nevek.append(nev)
    nevek.sort()
    return nevek
Személyes eszközök