Informatika2-2015/Gyakorlat01

A MathWikiből
(Változatok közti eltérés)
(Megoldások)
 
80. sor: 80. sor:
 
      
 
      
 
     return leltar_frissites(leltar, ujszam)</python>
 
     return leltar_frissites(leltar, ujszam)</python>
 +
 +
== Házi feladatok megoldása ==
 +
 +
=== szorzo ===
 +
 +
<python>def szorzo(l, k):
 +
  return [i * k for i in l]</python>
 +
 +
=== atment ===
 +
 +
Megoldás listaértelmezéssel:
 +
 +
<python>def atment(pontok, hatar):
 +
    nevek = [nev for nev in pontok if pontok[nev] >= hatar ]
 +
    nevek.sort()
 +
    return nevek</python>
 +
 +
Megoldás listaértelmezés nélkül:
 +
 +
<python>def atment(pontok, hatar):
 +
    nevek = []
 +
    for nev in pontok:
 +
        if pontok[nev] >= hatar:
 +
            nevek.append(nev)
 +
    nevek.sort()
 +
    return nevek</python>

A lap jelenlegi, 2015. február 21., 22:43-kori változata

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