print("Ahoj")
Ahoj
i = 50 #priradenie hodnoty do premennej
i*50
2500
i**3 # mocnina (na tretiu)
125000
s = 'UINF - INSb' #retazec, pole znakov
s
'UINF - INSb'
s[3]
'F'
s[3:6] #rez / slice, zlava uzavrety interval
'F -'
s[-2] #zaporne indexy
'S'
s[:-1]
'UINF - INS'
s[::2] #od:do:krok
'UN Nb'
s[::-1]
'bSNI - FNIU'
len(s)
11
text = input() #nacita vstup/riadok ako retazec
Ahojte, vsetci.
text
'Ahojte, vsetci.'
print(text)
Ahojte, vsetci.
text.split() #rozdeli podla bielych znakov
['Ahojte,', 'vsetci.']
slova = text.split()
riadok = input("Zadaj 3 cisla:")
Zadaj 3 cisla:1 5 7
riadok
'1 5 7'
riadok.split()
['1', '5', '7']
cisla = riadok.split()
cisla[0]+cisla[2] #scitanie retazcov
'17'
cisla[0]
'1'
int(cisla[0]) #prevedie na ciselny typ
1
2**1000 #lubovolna velkost, obmedzena len dostupnou pamatou
10715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376
text
'Ahojte, vsetci.'
for znak in text: # kazdy prvok v zozname/poli, in range, For Each
print(znak)
A h o j t e , v s e t c i .
for i in range(5): #rozsah / pocet opakovani
print(i)
0 1 2 3 4
for i in range(5, 10): #rozsah / pocet opakovani
print(i)
5 6 7 8 9
for slovo in slova:
print(slovo)
Ahojte, vsetci.
cisla
['1', '5', '7']
for cislo in cisla:
print(int(cislo))
1 5 7
[1, 'A'] # toto sa da iba v zozname, nie v poli (tam musia byt iba prvy rovnakeho typu)
[1, 'A']
#zoznam cisel
zoznam = [] #prazdny zoznam
for cislo in cisla:
zoznam.append(int(cislo))
zoznam
[1, 5, 7]
print(zoznam)
[1, 5, 7]
print(*zoznam) #vypise iba obsah
1 5 7
#zoznam cisel
zoznam = [] #prazdny zoznam
for cislo in cisla:
zoznam.append(int(cislo)*3+5)
zoznam
[8, 20, 26]
# One Liner in Python
zoznam = [int(cislo)*3+5 for cislo in cisla]
zoznam
[8, 20, 26]
map(int, cisla) #zavola/namapuje funkciu int na kazdy jeden prvok cisla
# ... spusti sa az ked bude potreba
<map at 0x2b98bc64e80>
print(*map(int, cisla))
1 5 7
range(3, 5)
range(3, 5)
print(*range(3, 5))
3 4
#nacitanie viacerych medzerou oddelenych cisel
cisla = [int(_) for _ in input("Zadaj cisla: ").split()]
Zadaj cisla: 15 2 2024
cisla
[15, 2, 2024]
## Nahodne cislo
#import random ... vsetky funkcie z modulu random, pouziva/vola sa random.NAZOV
from random import randint, randrange
randint(10, 20)
12
randrange(10, 20)
18
pole = [randrange(10, 100) for in range(30)]
File "C:\Users\pc12\AppData\Local\Temp\ipykernel_12836\3772297747.py", line 1 pole = [randrange(10, 100) for in range(30)] ^ SyntaxError: invalid syntax
pole = [randrange(10, 100) for _ in range(30)]
print(*pole)
28 85 30 47 62 64 70 42 32 42 86 37 50 92 98 66 10 77 58 98 45 46 75 92 58 83 57 29 77 53
print(pole*2)
[28, 85, 30, 47, 62, 64, 70, 42, 32, 42, 86, 37, 50, 92, 98, 66, 10, 77, 58, 98, 45, 46, 75, 92, 58, 83, 57, 29, 77, 53, 28, 85, 30, 47, 62, 64, 70, 42, 32, 42, 86, 37, 50, 92, 98, 66, 10, 77, 58, 98, 45, 46, 75, 92, 58, 83, 57, 29, 77, 53]
'SUPEEER'*5
'SUPEEERSUPEEERSUPEEERSUPEEERSUPEEER'
'SUPEEER'*5.1
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) ~\AppData\Local\Temp\ipykernel_12836\2975014775.py in <cell line: 1>() ----> 1 'SUPEEER'*5.1 TypeError: can't multiply sequence by non-int of type 'float'
print(*pole)
28 85 30 47 62 64 70 42 32 42 86 37 50 92 98 66 10 77 58 98 45 46 75 92 58 83 57 29 77 53
maximum = 0# pamatame si doteraz najvaciu hodnotu
for prvok in pole:
if prvok > maximum:
maximum = prvok
print(maximum)
98
#zadefinovanie novej funcie
def najdi_maximum(pole):
maximum = 0# pamatame si doteraz najvaciu hodnotu
for prvok in pole:
if prvok > maximum:
maximum = prvok
return maximum
najdi_maximum(pole)
98
najdi_maximum([1,9,8,2,5])
9
najdi_maximum([1.1, 2.5, 3.7, 5.8, 2.1])
5.8
najdi_maximum(['Ano', 'Nie'])
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) ~\AppData\Local\Temp\ipykernel_12836\2138686778.py in <cell line: 1>() ----> 1 najdi_maximum(['Ano', 'Nie']) ~\AppData\Local\Temp\ipykernel_12836\1124649274.py in najdi_maximum(pole) 3 maximum = 0# pamatame si doteraz najvaciu hodnotu 4 for prvok in pole: ----> 5 if prvok > maximum: 6 maximum = prvok 7 return maximum TypeError: '>' not supported between instances of 'str' and 'int'
najdi_maximum([-10, -5, -7, -2])
0
#zadefinovanie novej funcie
def najdi_maximum(pole):
maximum = pole[0]# pamatame si doteraz najvaciu hodnotu
for prvok in pole:
if prvok > maximum:
maximum = prvok
return maximum
najdi_maximum([-10, -5, -7, -2])
-2
#Efektivnejsie, neporovnava prvy so samym sebou
def najdi_maximum(pole):
maximum = pole[0]# pamatame si doteraz najvaciu hodnotu
for prvok in pole[1:]:
if prvok > maximum:
maximum = prvok
return maximum
najdi_maximum([-10, -5, -7, -2])
-2
sorted([-10, -5, -7, -2]) #vrati usporiadane pole
[-10, -7, -5, -2]
sorted([-10, -5, -7, -2])[-1] #maximum je posledny z uspoiriadaneho zoznamu
-2
max([-10, -5, -7, -2])
-2
najdi_maximum([5])
5
najdi_maximum([])
--------------------------------------------------------------------------- IndexError Traceback (most recent call last) ~\AppData\Local\Temp\ipykernel_12836\1689702965.py in <cell line: 1>() ----> 1 najdi_maximum([]) ~\AppData\Local\Temp\ipykernel_12836\774904698.py in najdi_maximum(pole) 1 #Efektivnejsie, neporovnava prvy so samym sebou 2 def najdi_maximum(pole): ----> 3 maximum = pole[0]# pamatame si doteraz najvaciu hodnotu 4 for prvok in pole[1:]: 5 if prvok > maximum: IndexError: list index out of range
max([])
--------------------------------------------------------------------------- ValueError Traceback (most recent call last) ~\AppData\Local\Temp\ipykernel_12836\3076297894.py in <cell line: 1>() ----> 1 max([]) ValueError: max() arg is an empty sequence
#Osetrenie pre prazdny vstup
def najdi_maximum(pole):
if len(pole) == 0:
return None
maximum = pole[0]# pamatame si doteraz najvaciu hodnotu
for prvok in pole[1:]:
if prvok > maximum:
maximum = prvok
return maximum
najdi_maximum([])
print(najdi_maximum([]))
None
zoznam = [ 1, 6, 2, 5, 3]
sorted(zoznam) # vytvori novy zoznam
[1, 2, 3, 5, 6]
zoznam
[1, 6, 2, 5, 3]
zoznam.sort() # uspooriada v ramci jednej premennej
zoznam
[1, 2, 3, 5, 6]
## Nájdenie indexu najväčšieho prvku
def najdi_maximum(pole):
# vrati index najvacsieho prvku
if len(pole) == 0:
return None
maximum = 0
for i in range(len(pole)):
if pole[i] > pole[maximum]: # >= ak posledny najvacsi
maximum = i
return maximum
najdi_maximum([1,2,3,4,5])
4
pole[najdi_maximum([112,246321,4563,432,5])]
85
pole[najdi_maximum(pole)]
98
for index, hodnota in enumerate(pole[:10]):
print(index, hodnota)
0 28 1 85 2 30 3 47 4 62 5 64 6 70 7 42 8 32 9 42
def najdi_maximum(pole):
# vrati index najvacsieho prvku
if len(pole) == 0:
return None
maximum = 0
for index, hodnota in enumerate(pole[1:]):
if hodnota > pole[maximum]:
maximum = index
return maximum
najdi_maximum([112,246321,4563,432,5])
1
## vratenie vsetkych indexov
def najdi_maximum(pole):
# vrati index najvacsieho prvku
if len(pole) == 0:
return None
maximum = [0]
for index, hodnota in enumerate(pole[:]):
if hodnota > pole[maximum[0]]:
maximum = [index]
if hodnota == pole[maximum[0]]:
maximum.append(index)
# print("..", maximum, hodnota)
return maximum
najdi_maximum(pole)
[14, 14, 19]
## vratenie vsetkych indexov
def najdi_maximum(pole):
# vrati index najvacsieho prvku
if len(pole) == 0:
return None
maximum = [0]
for index, hodnota in enumerate(pole[:]):
if hodnota == pole[maximum[0]]:
maximum.append(index)
if hodnota > pole[maximum[0]]:
maximum = [index]
# print("..", maximum, hodnota)
return maximum
najdi_maximum(pole)
[14, 19]
## vratenie vsetkych indexov
def najdi_maximum(pole):
# vrati index najvacsieho prvku
if len(pole) == 0:
return None
maximum = [0]
for index, hodnota in enumerate(pole[:]):
if hodnota > pole[maximum[0]]:
maximum = [index]
#else if
elif hodnota == pole[maximum[0]]: #vykona iba ak predchadzajuca podmienka nebola splnena
maximum.append(index)
# print("..", maximum, hodnota)
return maximum
najdi_maximum(pole)
[14, 19]