Table of Contents

Cvičení 3: Funkce

Opakování cyklů

Ramanujan Taxi

Funkce

Při programování často potřebujeme vykonat určité operace opakovaně. K tomu se hodí tzv. funkce.

def jmenoFunkce( parametry ):
   telo_funkce

Maximum ze dvou čísel:

def maximum(x,y):
    if x>y:
        return x
    else:
        return y  

max = maximum(2,0.5)
print(max)
 
# nebo rovnou muzeme predat jiné funkci
a = 6
b = 7
print("Maximum z ",a," a ", b, " je ", maximum(a,b))

def hello():
    print("Hello World!")

hello()

def maximum2(x,y):
    if (x > y):
        return x, True
    else:
        return y, False  
 

maxValue, info = maximum2(5,6)
 
#zkusime predat printu:
print("Maximum z 5,6 je ", maximum2(5,6))

Funkce quit()

if (spatny_vstup):
    quit()

Dosud jsme se setkali s několika funkcemi:

Úkol 1: absolutní hodnota

Úkol 2: Sexy prvočísla

Úkol 3: Dokonalá čísla

Úkol 4: Super-dokonalá čísla

Úkol 5: Největší společný dělitel

Úkol 6 Césarova šifra

Úkol 7 Převod měsíců

month=['leden','unor','brezen','duben','kveten','cerven','cervenec','srpen','zari','rijen','listopad','prosinec']

Témata k procvičení

Domácí úkol

Lehká varianta

Např. pro vstup

3
4484386 5430482
997155 6818895
2444051 6275419
vypadá výsledek takto:
:-)

pro vstup

9
1334386 13553534
3422019 12611931
8627474 6240422
12426219 12740481
13055039 7863151
9461235 9289245
12206332 15916244
6835579 14041121
3957597 11286009
vypadá výsledek takto:
Rozumite?

pro vstup

10
12994044 8108268
14877663 11703507
1093472 1825888
4053122 8115466
17435933 18487747
1926688 904864
17461286 15207014
19130135 15972695
15720953 4226951
3450782 91862
vypadá výsledek takto:
To je vse.

Těžká varianta

  1. Program navíc umí detekovat chybné vstupy [0.5b]
    • Vstup:
      2.9.5.1234
      Výstup:
      ERROR
    • Vstup:
      the fivetwentieth of January twenty
      Výstup:
      ERROR
    • Vstup:
      the twentieth of January twentyten
      Výstup:
      ERROR