Warning

4. Strukturované datové typy

a = 10
b = 3
print("a:", a, "b:", b)

# prohozeni promennych s pomocnou promennou
tmp = a
a = b
b = tmp
print("a:", a, "b:", b)

# prozeni promennych bez pomocne promenne
a = a + b
b = a - b
a = a - b
print("a:", a, "b:", b)

# prohozeni promennych pomoci tuple
(a, b) = (b, a)
print("a:", a, "b:", b)

def obdelnik(arg):
(a,b) = arg
return (a*b)

def kruznice(arg):
return (3.14*(arg**2))

def vypocet(f, arg):
return f(arg)

print("obdelnik:", vypocet(obdelnik, (2,3)))
print("kruznice:", vypocet(kruznice, 2.2))

# pole vytvorene vyctem
a = [1, 2, 3]

for i in range(len(a)):
print("a[", i, "] = ", a[i])

y = 0
for i in a:
print("a[", y, "] = ", i)
y += 1

# prazdne pole b
b = []
b += [10]
b += [20]
print(b)

# prazdne pole c
c = list()
c.append(10)
c.append(20)
printc(c)

def pole(p):
for i in range(len(p)):
p[i] += 10

a = [1, 2, 3, 4]
b = a # neni kopie, pouze reference
print("b: ", b)
a[3] = 100
print("b: ", b)
# kopie pomoci rezu
c = a[:]
print("c: ", c)
a[2] = 88
print("a: ", a)
print("c: ", c)

pole(c)
print("c: ", c)

import random

def vektor(delka, rozsah):
"vektor nahodnych celych cisel"
r = []  # pole, ktere budu na konci vracet
for i in range(delka):
# r += [random.randint(1, rozsah)]
r.append(random.randint(1, rozsah))

return r

def vektor1(delka, rozsah=100):
return ([random.randint(1,rozsah) for i in range(delka)])

def soucet(x, y):
"soucet vektoru x a y"
return ([x[i]+y[i] for i in range(len(x))])

def soucin(x, y):
"skalarni soucin vektoru x a y"
s = 0
for i in range(len(x)):
s += x[i]*y[i]
return s

a = vektor(10, 40)
print(a)
b = vektor1(10)
print(b) 

b = [[1, 22, 3], [4, 5, 18]]
print("b: ", b)
print("b[0]: ", b[0])
print("len(b): ", len(b))
print("b[1][1]: ", b[1][1])

for i in b:
print(i)

for i in range(len(b)):        # pocet vektoru
for j in range(len(b[0])): # delka vektoru
print(str(b[i][j]).rjust(2), end=" ")
print()

garaz = [
("petr", ["porsche", "bmw", "volvo"]),
("jan", ["bmw", "volvo"]),
("jiri", ["bmw", "porsche"])]

p = 0
for i in garaz:
(clovek, auta) = i
if "porsche" in auta:
p+=1
print("v garazi je ", p, "vozu znacky porsche")

a = [[]]
a[0] = [10, 20, 30]
print(a)
a.append([20, 30, 60])
print(a)