${1,2,3,4,5}$
def generuj_podmnoziny(mnozina):
if len(mnozina) == 0:
return [ [] ] #len jedna podmnozina, a to prazdna
zoznam = generuj_podmnoziny(mnozina[:-1]) #podmnozine bez posledneho prvku
return zoznam + [ podmnozina+[mnozina[-1]] for podmnozina in zoznam ]
generuj_podmnoziny( [1,2,3] )
[[], [1], [2], [1, 2], [3], [1, 3], [2, 3], [1, 2, 3]]
generuj_podmnoziny([1,2,3, 4])
[[], [1], [2], [1, 2], [3], [1, 3], [2, 3], [1, 2, 3], [4], [1, 4], [2, 4], [1, 2, 4], [3, 4], [1, 3, 4], [2, 3, 4], [1, 2, 3, 4]]
generuj_podmnoziny([15,31,2024,2,29])
[[], [15], [31], [15, 31], [2024], [15, 2024], [31, 2024], [15, 31, 2024], [2], [15, 2], [31, 2], [15, 31, 2], [2024, 2], [15, 2024, 2], [31, 2024, 2], [15, 31, 2024, 2], [29], [15, 29], [31, 29], [15, 31, 29], [2024, 29], [15, 2024, 29], [31, 2024, 29], [15, 31, 2024, 29], [2, 29], [15, 2, 29], [31, 2, 29], [15, 31, 2, 29], [2024, 2, 29], [15, 2024, 2, 29], [31, 2024, 2, 29], [15, 31, 2024, 2, 29]]
generuj_podmnoziny(['PAZ1b', 'INSb', 'PRR1a'])
[[], ['PAZ1b'], ['INSb'], ['PAZ1b', 'INSb'], ['PRR1a'], ['PAZ1b', 'PRR1a'], ['INSb', 'PRR1a'], ['PAZ1b', 'INSb', 'PRR1a']]
#asociatívne pole / slovník, mapa
znamky = { 'PAZ1a' : 'C', 'PAZ1b' : 'B', 'INSb' : 'A' }
znamky
{'PAZ1a': 'C', 'PAZ1b': 'B', 'INSb': 'A'}
znamky['INSb']
'A'
kopy = { 0: [100, 101], 10: [102, 103, 104] }
kopy
{0: [100, 101], 10: [102, 103, 104]}
kopy[0]
[100, 101]
kopy[10]
[102, 103, 104]
kopy = {} #prazdny slovnik
kopy[0] = [1,2,5]
kopy
{0: [1, 2, 5]}
%%writefile kopy2.in
3
1 100 0
1 101 0
1 102 0
1 103 0
1 104 0
3 0 10
2 0
2 0
2 0
2 10
2 10
1 105 10
1 106 10
1 107 10
1 108 10
3 10 20
2 10
2 10
2 10
2 20
0
Writing kopy2.in
kopy = { 0: [100, 101], 10: [102, 103, 104] }
def pridaj_knihu(kniha,kopa):
kopy.append(kniha)
kopy[10]
[102, 103, 104]
kopy[10].append(105)
kopy
{0: [100, 101], 10: [102, 103, 104, 105]}
def pridaj_knihu(kniha,kopa):
kopy[kopa].append(kniha)
pridaj_knihu(106,10)
kopy
{0: [100, 101], 10: [102, 103, 104, 105, 106]}
pridaj_knihu(99,0)
kopy
{0: [100, 101, 99], 10: [102, 103, 104, 105, 106]}
kopy = {}
kopy
{}
pridaj_knihu(100,0)
--------------------------------------------------------------------------- KeyError Traceback (most recent call last) ~\AppData\Local\Temp\ipykernel_13636\1845375048.py in <cell line: 1>() ----> 1 pridaj_knihu(100,0) ~\AppData\Local\Temp\ipykernel_13636\1322249981.py in pridaj_knihu(kniha, kopa) 1 def pridaj_knihu(kniha,kopa): ----> 2 kopy[kopa].append(kniha) KeyError: 0
kopy = {0: [100, 101, 99], 10: [102, 103, 104, 105, 106]}
kopy
{0: [100, 101, 99], 10: [102, 103, 104, 105, 106]}
10 in kopy
True
7 in kopy
False
def pridaj_knihu(kniha,kopa):
if kopa in kopy:
kopy[kopa] = [kniha]
kopy[kopa].append(kniha)
pridaj_knihu(98,0)
kopy
{0: [98, 98], 10: [102, 103, 104, 105, 106]}
kopy = {0: [100, 101, 99], 10: [102, 103, 104, 105, 106]}
kopy
{0: [100, 101, 99], 10: [102, 103, 104, 105, 106]}
pridaj_knihu(98,0)
kopy
{0: [98, 98], 10: [102, 103, 104, 105, 106]}
def pridaj_knihu(kniha,kopa):
if not kopa in kopy:
kopy[kopa] = [kniha]
kopy[kopa].append(kniha)
kopy = {0: [100, 101, 99], 10: [102, 103, 104, 105, 106]}
pridaj_knihu(98,0)
kopy
{0: [100, 101, 99, 98], 10: [102, 103, 104, 105, 106]}
pridaj_knihu(97,7)
kopy
{0: [100, 101, 99, 98], 10: [102, 103, 104, 105, 106], 7: [97, 97]}
def pridaj_knihu(kniha,kopa):
if not kopa in kopy:
kopy[kopa] = [kniha]
return
kopy[kopa].append(kniha)
kopy = {0: [100, 101, 99], 10: [102, 103, 104, 105, 106]}
pridaj_knihu(98,0)
pridaj_knihu(97,7)
kopy
{0: [100, 101, 99, 98], 10: [102, 103, 104, 105, 106], 7: [97]}
#else
def pridaj_knihu(kniha,kopa):
if not kopa in kopy:
kopy[kopa] = [kniha]
else:
kopy[kopa].append(kniha)
kopy = {0: [100, 101, 99], 10: [102, 103, 104, 105, 106]}
pridaj_knihu(98,0)
pridaj_knihu(97,7)
kopy
{0: [100, 101, 99, 98], 10: [102, 103, 104, 105, 106], 7: [97]}
#[]
def pridaj_knihu(kniha,kopa):
if not kopa in kopy:
kopy[kopa] = []
kopy[kopa].append(kniha)
kopy = {0: [100, 101, 99], 10: [102, 103, 104, 105, 106]}
pridaj_knihu(98,0)
pridaj_knihu(97,7)
kopy
{0: [100, 101, 99, 98], 10: [102, 103, 104, 105, 106], 7: [97]}
def odstran_knihu(kopa):
if len(kopy[kopa])==0:
return -1
kniha=kopy[kopa][-1]
kopy[kopa]=kopy[kopa][:-1]
return kniha
odstran_knihu(0)
98
kopy
{0: [100, 101, 99], 10: [102, 103, 104, 105, 106], 7: [97]}
odstran_knihu(7)
97
odstran_knihu(7)
-1
kopy
{0: [100, 101, 99], 10: [102, 103, 104, 105, 106], 7: []}