Stránka zobrazuje podrobnosti a související úlohy k vybranému cvičení.

Náhledy

Předchůdci

Podobné

Objekty v Pythonu

Přejmenování osoby

Uvažme následující program:

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def describe(self):
        print(self.name, 'is', self.age, 'years old.')

    def rename(self, new_name):
        self.name = new_name

friend = Person('Tom', 23)
friend.rename('David')
friend.describe()

Funkce

Zjednodušte funkci:
def test(a, b):
    if a > b:
        return True
    else:
        return False

def test(a, b):
    if a > b:
        return True
def test(a, b):
    return a > b

Výpočty s čísly

Ciferný součet

Uvažme následující funkci pro výpočet ciferného součtu přirozených čísel:

def digit_sum(n):
    result = 0
    while n > 0:
        result += n % 10
        n = n // 10
    return result

Zpracování souborů

Spočítejte počty výskytů jednotlivých slov v přiloženém souboru. Nejčastější slovo je 'the', které má 1642 výskytů. Jaké je šestnácté nejčastější slovo (která má 248 výskytů)?
alice.txt

Funkce

Může se funkce f zacyklit?
def f(n):
    x = 0
    while stop(x, n) != False:
        x += 1

def stop(x, n):
    if x > n:
        print(True)
    else:
        print(False)

anone

Podmíněný příkaz (if) v Pythonu

Kolik slov se vypíše v závislosti na hodnotě n?
if n < 3:
    print("mrkev")
elif n < 5:
    print("celer")
elif n < 10:
    print("okurka")

0 až 30 nebo 1

Cyklus while v Pythonu

Kolikrát se vypíše celer?
x = 0
while x > 0:
    x += 1
    print("celer")

ani jednoujednou

Šifry a kódy

Morseova abeceda se zapisuje pomocí čárek, teček a oddělovačů. Dekódujte následující zprávu. Vyjdou vám písmena T, C, O, která kódují tečky, čárky a oddělovače. Výsledek pak ještě jednou dekódujte.
-.-.|-.-.|-.-.|---|-.-.|-|-|---|-|-.-.|-.-.|-|---|-.-.|-.-.|-.-.|---|-|-|-|-.-.|---|-|---|-.-.|-|-|---|-|-.-.|-.-.|-.-.|---|-|---|-|-.-.|-.-.|-|---|-|-.-.|---|-|-.-.|-|---|-.-.|-|-|---|-|-|-.-.|---|-.-.|-|-|-|---|-|-|---|-.-.|-|-.-.|-|---|-|---|
Překlad jednotlivých písmen na morseovku uvádá následující slovník:
morse = {"A": ".-", "B": "-...", "C": "-.-.", "D": "-..", "E": ".", "F": "..-.",
         "G": "--.", "H": "....", "I": "..", "J": ".---", "K": "-.-", "L": ".-..",
         "M": "--", "N": "-.", "O": "---", "P": ".--.", "Q": "--.-", "R": ".-.",
         "S": "...", "T": "-", "U": "..-", "V": "...-", "W": ".--", "X": "-..-",
         "Y": "-.--", "Z": "--.."}

Řízení výpočtu: mix

Jak vypsat, zda je pozice x, y uvnitř kruhu se středem v počátku a poloměru r?

if x**2 + y**2 <= r**2:
    print("uvnitr")
else:
    print("venku")
if x + y <= r:
    print("uvnitr")
else:
    print("venku")

Objekty v Pythonu

Co vypíše program?
class X:
    def __init__(self, a):
        self.a = a
    def f(self, a):
        print(a)

x = X(5)
x.f(2)

2
Chybu, protože voláme metodu f se španým počtem argumentů

Počítání s čísly

Fibonacciho posloupnost má jako první dva členy jedničky, každý další člen je součtem dvou předchozích. Posloupnost tedy začíná 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144 ... Nás nyní zajímají pouze sudé členy této posloupnosti. Například čtvrté sudé Fibonacciho číslo je 144. Jaké je čtrnácté sudé Fibonacciho číslo?

Podmíněný příkaz (if) v Pythonu

Co vypíše program?
t = "pes"
if t == "prase":
    print("pes")
else:
    print("prase")

pes
prase

Cyklus for v Pythonu

Jak vypsat počet čísel od a do b, které splňují test?

x = 0
for i in range(a, b+1):
    if test(x):
        x += 1
print(x)
n = 0
for x in range(a, b+1):
    if test(x):
        n += 1
print(n)

Cyklus while v Pythonu

Co vypíše program?
x = 4
while x > 0:
    x = x - 1
    print(x)

4
3
2
1
3
2
1
0

Cyklus for v Pythonu

Co vypíše program?
for x in range(3):
    print("A")
for y in range(2):
    print("B")

A
A
B
B
B
A
A
A
B
B

Řízení výpočtu: mix

Co vypíše program?
x = 5
if x < 10:
    x = x + 2
else:
    x = x + 3
print(x)

7
8
NAPIŠTE NÁM

Nevíte si rady?

Nejprve se prosím podívejte na časté dotazy:

Časté dotazy Návody pro rodiče Návody pro učitele

Čeho se zpráva týká?

Obsah Ovládání Přihlášení Licence Různé

Text zprávy

E-mailová adresa (ať Vám můžeme odpovědět)


Odeslat

Vzhledem k uzavření škol mají systémy Umíme zvýšený provoz a množství dotazů. Prosím zasílejte pouze nezbytné dotazy a připomínky. Před zasláním dotazu si prosím prohlédněte časté dotazy. Děkujeme za pochopení.
Prosím nezasílejte dotazy na prozrazení řešení úloh či na vysvětlení postupu. Děkujeme.