Riešenie úloh 7. cvičenia¶
Riešenie:
def sucin(zoznam): vysl = 1 for p in zoznam: vysl *= p return vysl
Riešenie:
def zostupne(zoznam): for i in range(1, len(zoznam)): if zoznam[i-1] < zoznam[i]: return False return True
Riešenie:
def postupnost(start, koniec, krok=1): vysl = [] x = start while krok > 0 and x < koniec or krok < 0 and x > koniec: vysl.append(x) x += krok return vysl
Riešenie:
def sucet(zoznam1, zoznam2): vysl = [] ix = min(len(zoznam1), len(zoznam2)) for i in range(ix): vysl.append(zoznam1[i] + zoznam2[i]) return vysl + zoznam1[ix:] + zoznam2[ix:]
Riešenie:
def nahodny_zoznam(n, od, do): vysl = [] for i in range(n): vysl.append(random.randint(od, do)) return vysl def histogram(zoznam): x, y = 10, 250 sirka = 360 // len(zoznam) for hodnota in zoznam: farba = f'#{random.randrange(256**3):06x}' canvas.create_rectangle(x, y, x + sirka, y - hodnota, fill=farba) x += sirka
Riešenie:
def kresli_polygon(zoznam_x, zoznam_y): zoz = [] for i in range(len(zoznam_x)): zoz.extend([zoznam_x[i], zoznam_y[i]]) canvas.create_polygon(zoz, outline='black', fill=f'#{random.randrange(256**3):06x}')
Riešenie:
def replace_novy(zoznam, co, zaco): vysl = [] for prvok in zoznam: if prvok == co: prvok = zaco vysl.append(prvok) return vysl def replace(zoznam, co, zaco): for i, prvok in enumerate(zoznam): if prvok == co: zoznam[i] = zaco
Riešenie:
def dvojice(zoznam): i = 0 while i < len(zoznam)-1: zoznam[i:i + 2] = [zoznam[i] + zoznam[i + 1]] i += 1
Riešenie:
def rozklad(cislo): vysl = [] i = 2 while cislo > 1: if cislo % i == 0: vysl.append(i) cislo //= i else: i += 1 return vysl
Riešenie:
def stvorec(x, y, r, uhol): vysl = [] for u in range(uhol, 360 + uhol, 90): vysl.append(x + r * cos(radians(u))) vysl.append(y + r * sin(radians(u))) return vysl
Riešenie:
def posun(zoznam): zoznam.append(zoznam.pop(0))
Riešenie:
import random def dve_kocky(pocet): zoz = [0] * 13 for i in range(pocet): zoz[random.randint(1, 6) + random.randint(1, 6)] += 1 return zoz
Riešenie:
def prerob(cislo): cislo = str(cislo) vysl = [] while cislo: vysl.append(cislo[-3:]) cislo = cislo[:-3] return '_'.join(reversed(vysl))
Riešenie:
def anagram(s1, s2): s1 = sorted(s1.replace(' ', '').lower()) s2 = sorted(s2.replace(' ', '').lower()) return s1 == s2