https://naucse.python.cz/2022/praha-pyladies-podzim/sessions/class/
Last active
December 3, 2022 09:41
-
-
Save brabemi/3f182cb3c787aeb5767f1b7320786210 to your computer and use it in GitHub Desktop.
PyLadies - Praha - podzim 2022 - Lekce 11
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def nakresli_mapu(souradnice): | |
velikost = 10 | |
tabulka = [] | |
for i in range(velikost): | |
radek = [] | |
for j in range(velikost): | |
radek.append('.') | |
tabulka.append(radek) | |
# for dvojice in souradnice: | |
# jednořádkovou variantu rozbalení tuple dvojice mohu dát rovnou do for | |
for sloupec, radek in souradnice: | |
# tuple dvojice mohu rozbalit na dva řádky pomocí indexů [0] a [1] | |
# sloupec = dvojice[0] | |
# radek = dvojice[1] | |
# nebo ho mohu rozbalit na jeden řádek, kdy python atomaticky dá jednotlivé indexy do proměnných | |
# sloupec, radek = dvojice | |
tabulka[radek][sloupec] = 'X' | |
# for radek in tabulka: | |
# for policko in radek: | |
# print(policko, end=' ') | |
# print() | |
for radek in tabulka: | |
print(' '.join(radek)) | |
print() | |
def pohyb(s, smer): | |
posledni_souradnice = s[-1] | |
sloupec, radek = posledni_souradnice | |
if smer == 'v': | |
nova_souradnice = (sloupec+1, radek) | |
elif smer == 'z': | |
nova_souradnice = (sloupec-1, radek) | |
elif smer == 's': | |
nova_souradnice = (sloupec, radek-1) | |
elif smer == 'j': | |
nova_souradnice = (sloupec, radek+1) | |
s.append(nova_souradnice) | |
souradnice = [(0, 0)] | |
nakresli_mapu(souradnice) | |
pohyb(souradnice, 'v') | |
nakresli_mapu(souradnice) # → [(0, 0), (1, 0)] | |
pohyb(souradnice, 'v') | |
nakresli_mapu(souradnice) # → [(0, 0), (1, 0), (2, 0)] | |
pohyb(souradnice, 'j') | |
nakresli_mapu(souradnice) # → [(0, 0), (1, 0), (2, 0), (2, 1)] | |
pohyb(souradnice, 'v') | |
nakresli_mapu(souradnice) | |
pohyb(souradnice, 'v') | |
nakresli_mapu(souradnice) | |
pohyb(souradnice, 's') | |
nakresli_mapu(souradnice) | |
# nakresli_mapu([(0, 0), (1, 0), (2, 2), (4, 3), (8, 9), (8, 9)]) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def tovarna_na_lidi(jmeno, prijmeni, rok): | |
jmeno = jmeno[0].upper() + jmeno[1:].lower() | |
prijmeni = prijmeni[0].upper() + prijmeni[1:].lower() | |
vek = 2022 - rok | |
return { | |
'jmeno': jmeno, | |
'prijmeni': prijmeni, | |
'rok': rok, | |
'vek': vek, | |
} | |
def lektvar_mladi(clovek): | |
# clovek['vek'] = clovek['vek'] - 10 | |
clovek['vek'] -= 10 | |
# 1. způsob | |
# jmeno1 = 'Mirek' | |
# prijmeni1 = 'Brabenec' | |
# rok1 = 1993 | |
# 2. způsob | |
# mirek = { | |
# 'jmeno': 'Mirek', | |
# 'prijmeni': 'Brabenec', | |
# 'rok': 1993 | |
# } | |
# 3. způsob | |
mirek = tovarna_na_lidi('mirek', 'brabenec', 1993) | |
# marek = { | |
# 'jmeno': 'Marek', | |
# 'prijmeni': 'Brabec', | |
# 'rok': 1994 | |
# } | |
marek = tovarna_na_lidi('marek', 'brabec', 1994) | |
lide = [mirek, marek] | |
for clovek in lide: | |
print(clovek['jmeno'], clovek['prijmeni'], clovek['rok'], clovek['vek']) | |
lektvar_mladi(clovek) | |
print(clovek['jmeno'], clovek['prijmeni'], clovek['rok'], clovek['vek']) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# https://pastebin.com/P1zj2ugw | |
# vyrob třídu Kocka | |
# trida bude mít __init__ | |
# kocka má jméno a počet životů, který je na začátku 9 | |
# vyrobte jeden objekt Kocka | |
class Clovek: | |
def __init__(self, jmeno, prijmeni, rok): | |
jmeno = jmeno[0].upper() + jmeno[1:].lower() | |
prijmeni = prijmeni[0].upper() + prijmeni[1:].lower() | |
vek = 2022 - rok | |
self.jmeno = jmeno | |
self.prijmeni = prijmeni | |
self.rok = rok | |
self.vek = vek | |
mirek = Clovek('mirek', 'brabenec', 1993) | |
print(type(mirek)) | |
print(mirek) | |
print(mirek.jmeno, mirek.prijmeni, mirek.rok, mirek.vek) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# vyrob třídu Kocka | |
# trida bude mít __init__ | |
# kocka má jméno a počet životů, který je na začátku 9 | |
# vyrobte jeden objekt Kocka | |
class Kocka: | |
def __init__(self, jmeno, zivoty=9): | |
self.jmeno = jmeno | |
self.zivoty = zivoty | |
def zamnoukej(self): | |
print(f'{self.jmeno}: Mnauuu') | |
def zastekej(self): | |
print(f'{self.jmeno}: Mnauuu?') | |
def snez(self, jidlo): | |
print(f'{self.jmeno}: {jidlo} mi chutná') | |
def je_ziva(self): | |
if self.zivoty > 0: | |
return True | |
else: | |
return False | |
def uber_zivot(self): | |
# if self.zivoty > 0: | |
if self.je_ziva(): | |
self.zivoty -= 1 | |
moje_kocky = [ | |
Kocka('Mourek'), | |
Kocka('Bertik', 5), | |
] | |
for kocka in moje_kocky: | |
# print(kocka) | |
# print(kocka.jmeno, kocka.zivoty) | |
kocka.zamnoukej() | |
kocka.zastekej() | |
kocka.snez('kuře') | |
if kocka.jmeno == 'Bertik': | |
print(kocka.je_ziva()) | |
for i in range(15): | |
kocka.uber_zivot() | |
print(kocka.zivoty) | |
print(kocka.je_ziva()) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment