A fejlesztéshez szükséges a Python 3 és a Visual Studio Code telepítése. Ez a videó megmutatja, hogy kell a telepítést véghez vinni. Elég a videót 5:28-ig megnézni.
- Beépített függvények
abs()
enumerate()
isinstance()
max()
min()
reversed()
round()
sum()
list.index()
- Konverziók
int()
float()
list()
str()
- File kezelés
open()
read
,write
ésappend
módfile.readline()
file.close()
file.read()
file.write()
- UTF-8
- Kivétel kezelés
try:
except:
else:
finally:
except Error as e:
NameError
IndexError
ZeroDivisionError
- Modulok
import
- előre definiált modulok
- saját modulok
pip
- Osztályok és Objektumok
class
- tagváltozók
- példányosítás
- metódusok
self
- dinamikus objektumok
__init__
A következő feladatokat a workshop során fogjuk megcsinálni, nem kell őket előre elkészíteni.
Készíts egy PostIt osztályt, amelynek van 3 tagváltozója:
hatterszin
szoveg
(ami rajta van)szovegszin
Készíts pár példa objektumot:- sárga postit kék szöveggel: "Első ötlet"
- rózsaszínű postit fekete szöveggel: "Hurrá!"
- zöld postit barna szöveggel: "Szuper!"
- Készíts egy
Allat
osztályt - Minden állatnak van éhsége, ami egy szám
- Minden állatnak van szomja, ami egy szám
- Amikor egy állat létrejön, 50-es az éhsége és 50-es a szomja
- Minden állat tud csinálni bizonyos dolgokat:
- eszik(), ilyenkor az éhsége csökken eggyel
- iszik(), ilyenkor a szomja csökken eggyel
- jatszik(), ilyenkor az éhsége és szomja megnő eggyel
Másold magadhoz az elkészített Pokemon
osztályt:
class Pokemon:
def __init__(self, nev, tipus, ellenfel):
self.nev = nev
self.tipus = tipus
self.ellenfel = ellenfel
def hatasos_ellene(self, masik):
return self.ellenfel == masik.tipus
Illetve használd ezen programot, benne kommentként láthatod a feladatot:
def initialize_pokemons():
pokemon = [];
pokemon.append(Pokemon("Balbasaur", "fű", "víz"))
pokemon.append(Pokemon("Pikatchu", "elektromos", "víz"))
pokemon.append(Pokemon("Charizard", "tűz", "fű"))
pokemon.append(Pokemon("Balbasaur", "víz", "tűz"))
pokemon.append(Pokemon("Kingler", "víz", "tűz"))
return pokemon
ash_pokemonjai = initialize_pokemons()
# Minden pokémonnak van neve és típusa.
# Bizonyos tipusok hatásosak más típusokkal szemben, pl. víz hatásos tűz ellen.
# Ash-nek van néhány pokémonja.
# Felbukkant egy vad pokémon!
vad_pokemon = Pokemon("Oddish", "fű", "víz")
# Melyik pokémonját válassza Ash a küzdelemhez?
print("..., téged választalak!")
A class és a program kódja két különböző file-ban legyen.
Másold magadhoz az elkészített Thing és Fleet osztályt:
class Thing:
def __init__(self, name):
self.name = name
self.completed = False
def complete(self):
self.completed = True
def __str__(self):
return ("[x] " if self.completed else "[ ] ") + self.name
class Fleet(object):
def __init__(self):
self.things = []
def add(self, thing):
self.things.append(thing)
def __str__(self):
result = ""
for i in range(0, len(self.things)):
result += str(i+1) + ". " + self.things[i].__str__() + "\n"
return result
Illetve használd ezen programot, benne kommentként láthatod a feladatot:
from fleet import Fleet
from thing import Thing
fleet = Fleet()
# Töltsd fel a fleet példányt olyan módon, hogy a következő legyen a kimenet:
# 1. [ ] Get milk
# 2. [ ] Remove the obstacles
# 3. [x] Stand up
# 4. [x] Eat lunch
print(fleet)
A class és a program kódja két különböző file-ban legyen.
Hozz létre diák és tanár osztályokat: Student és Teacher néven
learn()
: Kiírja a képernyőre: "A diák tanul valamit"question(teacher)
: Meghívja a tanár (teach) metódusát
teach(student)
: Meghívja a diáklearn()
metódusátanswer()
: Kiírja a képernyőre: "A tanár válaszol a diáknak"
- Hozz létre egy
Student
ésTeacher
példányt - Hívd meg a diák
question()
metódusát és a tanárteach()
metódusát
Hozz létre egy töltőállomás és autó osztályt Station
és Car
néven.
Tagváltozók:
gas_amount
: A töltőállomás üzemanyag szintje
Metódusok:
refill(car)
: Csökkenti agas_amount
tagváltozót az átadott autó által befogadható üzemanyag mennyiségének értékével, és megnöveli az autógas_amount
tagváltozóját a maximális értékre (teletölti)
Tagváltozók:
gas_amount
: Az autó aktuális üzemanyag szintjecapacity
: Az autó maximális üzemanyag szintje
Metódusok:
Hozz létre egy konstruktort, ami beállítja a következő értékeket:
gas_amount
: 0capacity
: 100
Hozz létre egy filctoll és tolltartó osztályt Sharpie
és SharpieSet
néven.
Az osztály tárolja a filc szinét, vastagságát és tinta mennyiségét.
A létrehozott példány tinta mennyisége legyen 100.
Legyen egy use()
metódusa ami csökkenti a tinta mennyiségét.
Az osztály filceket tárol. Egy tolltartó rendelkezzen a következő metódusokkal:
add(sharpie)
: Hozzáad egy filcetcount_usable()
: Visszaadja a számát azoknak a filceknek, amikben még van tintaremove_trash()
: Törli az üres filceket
Használd újra az Allat
osztályt.
Hozz létre egy Farm
osztályt.
- tároljon állatokat
- tárolja, hogy maximum hány állatot tud tárolni
Metódusok:
breed()
: létrehoz egy új állatot, ha van neki helysell()
: kiveszi a legkevésbé éhes állatot
Hozz létre BlogPost
osztályt aminek van:
- szerző neve
- címe
- szövege
- dátuma
Hozz létre Blog
-ot, ami képes:
BlogPost
-okat tárolni- Hozzáadni egy új blogpostot a blogpostok listájhoz
- Törölni egy postot (index alapján)
- Megváltoztatni egyet egy másik pédányra, index alapján