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

Zkouška 19.01.2021

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

1. 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 funkce1 (list):
    # vase implementace
    pass
 
# priklad volani
ret = funkce1 ([[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


2. 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 funkce2 (list):
    # vase implementace
    pass
 
# priklad volani
ret = funkce2 (1982)
# overeni vysledku
print (ret)
# (True, "MCMLXXXII")

Hodnocení: 8b


3. Napište funkci, která určí počet samohlásek ve slovech textu. Návratovou hodnotou funkce je slovník (viz příklad). Platí, že slova mají alespoň dvě písmena, která jsou z množiny ASCII znaků ('a-zA-Z'), a jsou oddělena jednou nebo více mezerami.

Příklad:

def funkce3 (string):
    # vase implementace
    pass
 
# priklad volani
ret = funkce3 ("Ahoj jak se mas na zkousce z ZPR")
# overeni vysledku
print (ret)
# {'ahoj': 2, 'jak': 1, 'se': 1, 'mas': 1, 'na': 1, 'zkousce': 3, 'ZPR': 0}

Hodnocení: 8b


4. Napište funkci, který který v seznamu celých čísel hledá nejbližší vyšší číslo k vybranému prvku seznamu. Nejbližší vyšší číslo je prvek seznamu, pro který platí:

  • jeho hodnota je vyšší než hodnota zadaného prvku seznamu,
  • absolutní rozdíl indexů zadaného prvku a tohoto prvku je minimální (je nejblíže)
  • pokud existují dva prvky, které splňují první dvě podmínky, pak je to menší z nich (menší podle hodnoty).

Návratovou hodnotou funkce je tuple, jehož

  • první položkou je logická hodnota False v případě, že došlo k nějaké chybě (seznam měl nulovou délku, nebyl platný zadaný index, nebo v seznamu není větší číslo) a logické hodnota True v případě, že je vše v pořádku
  • druhou položkou je nalezené číslo nebo None

Příklad:

def priklad4 (list, index): 
    pass
 
# priklad volani    
ret = priklad4 ([1, 2, 3, 5, 11, 6, 9, 7, 10, 5, 6], 6) 
# overeni vysledku
print(ret)
# (True,10)

Vysvětlení: Nejbližšími vyššími čísly čísla 9 (číslo s indexem 6) jsou čísla 10 a 11, vzdálené od indexu 6 o dvě pozice. Vybírám tedy menší z nich.

Hodnocení: 8 bodů


5. Napište funkci, jejímž argumentem bude seznam čí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 priklad5 (list): 
    pass
 
# priklad volani  
ret = priklad5 ([1, 2, 3, 5, 11, 6, 9, 7, 10, 5, 6]) 
# overeni vysledku
print(ret)
# (True,5.88)

Hodnocení: 4 body


6. Napište funkci, jejíž návratovou hodnotou bude textový řetězec složený z prvních dvou a posledních dvou znaků textového žetězce, předaného funkci jako parametr a logická hodnota, reprezentující správnou fukcionalitu funkce.

Příklad:

def priklad6 (string):
    pass
 
# priklad volani
ret = priklad6 ('Hello world')
# overeni vysledku
print(ret)
# (True, 'Held')
Hodnocení: 4 body


courses/bab37zpr/zkouska/03.txt · Last modified: 2021/01/19 11:07 by viteks