Warning
This page is located in archive. Go to the latest version of this course pages.

Zkouška 26.01.2021

Jednotlivé funkce pište do jednoho souboru pojmenovaného {login}.py a nahrajte do BRUTE (ZK).


1. Napište funkci, která naplní seznam šachovnicí o velikosti N x M, maximální velikost je 10×10. Při plnění seznamu jsou použity dva různé ASCII znaky. Znaky a velikost šachovnice jsou argumenty funkce. Návratovou hodnotou funkce je tuple - prvním členem je logická hodnota True, pokud nedošlo k chybě nebo False při nesprávně zadaných argumentech funkce, druhým členem je hodnota None nebo seznam naplněný znaky

Příklad:

def funkce1 (a, b, c, d):
    # vase implementace
    pass
 
# priklad volani
ret = funkce (8, 3, '#', 'o')
# overeni vysledku
print(ret)
# (True, [['#', 'o', '#', 'o', '#', 'o', '#', 'o'], ['o', '#', 'o', '#', 'o', '#', 'o', '#'], ['#', 'o', '#', 'o', '#', 'o', '#', 'o']])

Hodnocení: 8 bodů


2. Napište funkci, která seřadí sloupce matice reprezentované seznamem sestupně podle součtu prvků. Pokud jsou v matice dva sloupce se stejným součtem, vypíšou se v libovolném pořadí.

Vstup:

1 2 3 4
3 4 3 5
3 5 1 8

Výstup:

4 5 8
2 4 5
3 3 1
1 3 3

Příklad:

def funkce2 (list):
    # vase implementace
    pass
 
# priklad volani
ret = funkce2 ([[1, 2, 3, 4], [3, 4, 3, 5], [3, 5, 1, 8]])
# overeni vysledku
print (ret)
[[4, 5, 8], [2, 4, 5], [3, 3, 1], [1, 3, 3]]

Hodnocení: 8b


3. Napište funkci pro konverzi arabského čísla v rozsahu 0 - 3999 na římské. Návratovou hodnotou je tuple, jehož první položkou je logická hodnota False v případě, že na vstupu nesplňuje pořadavky a druhou položkou je převedený řetězec nebo None.

Příklad:

def funkce3 (list):
    # vase implementace
    pass
 
# priklad volani
ret = funkce3 (1982)
# overeni vysledku
print (ret)
# (True, "MCMLXXXII")

Hodnocení: 8b


4. Napište funkci, který provede kódování pomocí Vigenèrovy šifry. Šifrování probíhá posunem písmen podobně jako u Caesarovy šifry s tím rozdílem, že Vigenèrova šifra využívá klíč. Pro posun písmen zdrojového textu se postupně používají písmena z klíče: a posouvá o 0, b o 1, … z o 25. Pokud je klíč kratší než zdrojový text, jsou použita písmena z klíče opět od začátku. Znaky zdrojového textu jsou z množiny A-Za-z, klíč je pouze z malých písmen. Návratovou hodnotou funkce je tuple - prvním členem je logická hodnota True, pokud nedošlo k chybě nebo False při nesprávně zadaných argumentech funkce, druhým členem je hodnota None nebo zakódovaný řetězec.

Příklad:

def funkce4 (text, klic):
    # vase implementace
    pass
 
# priklad volani
ret = funkce4 ('pampeliska', 'klic')
# overeni vysledku
print (ret)
# (True, "ZLUROWQUUL")

Hodnocení: 8 bodů


5. Napište funkci pro kapitalizaci všech slov v textovém řetězci.

Příklad:

def funkce5 (text):
    # vase implementace
    pass
 
# priklad volani
ret = funkce5 ('jenom tak klidne levituji ve vzduchu')
print (ret)
# Jenom Tak Klidne Levituji Ve Vzduchu

Hodnocení: 4 body


6. Napište funkci, jejímž argumentem bude množina (set) čísel. Návratovou hodnotou bude aritmetický průměr čísel seznamu, ze kterého bude vyřazena minimální a maximální hodnota a logická hodnota, reprezentující výskyt chyby (False) nebo správné funkcionality (True). V případě chyby bude místo aritmetického průměru None.

Příklad:

def funkce6 (data):
    # vase implementace
    pass
 
# priklad volani
ret = funkce6 ({10, 4, 2, 3, 5, 6, 2, 1})
# overeni vysledku
print (ret)
# vytiskne nasledujici (na presnosti nezalezi):
# (True, 4)

Hodnocení: 4 body


courses/bab37zpr/zkouska/04.txt · Last modified: 2021/01/26 12:30 by viteks