Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 18. diel - Funkcie a výnimky v Pythone

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
Kristián Lörincz:13.2.2021 15:44

Ahoj, v podstatě jsem chtěl napsat něco podobnýho, jako nade mnou Jarda Antoš. Docela mi v tomto tutoriálu chybí "blbuvzdorné" vysvětlování pod každým příkladem, jaké je v článcích od Davida Čápky.

Avatar
Jan Svoboda
Člen
Avatar
Jan Svoboda:16.2.2021 20:55

Asi bych také souhlasil s kolegy nade mnou. Podrobnější vysvětlení by bylo dobré.

Editované
Avatar
Petr Krchňák:6.12.2021 2:11

Abych uklidnil všechny, kteří se zde začali cítit v koncích: nejste sami! Trvalo mně asi půl dne tupého zíráni do monitoru na zdroják vylepšené kalkulačky, než se mi podařilo definice funkcí alespoň trochu pochopit :-D . Doporučuji pevné nervy a čerpat informace z více zdrojů, např. PyLadies , kde je to možná vysvětlené maličko lépe s ohledem na začátečníky.

Na procvičení jsem si zkusil naprogramovat jednoduchý převodník měn:

podporovane_meny = ["CZK", "EUR", "GBP", "USD", "THB"]
meny =[
        [1, 0.039, 0.034, 0.044, 1.51], #CZK
        [25.41, 1, 0.85, 1.13, 38.29],  #EUR
        [29.76, 1.17, 1, 1.32, 44.85],  #GBP    #KURZY PLATNÉ K 6.12. 2021
        [22.47, 0.88, 0.76, 1, 33.85],  #USD
        [0.66, 0.026, 0.022, 0.030, 1]  #THB
]

def overeni_meny (chybova_hlaska, otazka):
    cyklus0 = True
    while cyklus0:
        print ("Podporované měny: ", *podporovane_meny)
        mena = input (otazka)
        mena = mena.upper()
        if mena in podporovane_meny:
            cyklus0 = False
        else:
            print (chybova_hlaska)
    return mena

def overeni_hodnoty (otazka, chybova_hlaska):
    cyklus1 = True
    while cyklus1:
        try:
            zadani = float(input(otazka))
            if zadani > 0:
                return zadani
            else:
                print (chybova_hlaska)
        except ValueError:
            print (chybova_hlaska)

def vypocet (mena1, mena2, hodnota):
    index = podporovane_meny.index(mena1)
    index2 = podporovane_meny.index(mena2)
    mezivypocet = meny[index][index2]
    finalni_vypocet = mezivypocet * hodnota
    print(hodnota, mena1, "=", finalni_vypocet, mena2)

def pokracovat ():
    cyklus2 = True
    while cyklus2:
        odpoved = input ("Přejete si zadat další konverzi? a/n ")
        odpoved = odpoved.upper()
        if odpoved == "A":
            cyklus2 = False
            return True
        elif odpoved == "N":
            cyklus2 = False
            return False
        else:
            print ("Neplatná volba!")

def main ():
    hlavni_cyklus = True
    while hlavni_cyklus:
        mena1 = overeni_meny ("Zadanou měnu konvertor bohužel nepodporuje!", "Kterou měnu si přejete konvertovat? ")
        hodnota = overeni_hodnoty ("Zadejte hodnotu: ", "Bohužel jste nezadal platnou hodnotu.")
        mena2 = overeni_meny ("Zadanou měnu konvertor bohužel nepodporuje!", "Do které měny si přejete zadanou částku konvertovat? ")
        vypocet (mena1, mena2, hodnota)
        if pokracovat ():
            pass
        else:
            hlavni_cyklus = False
            print ("Na schledanou!")
            input()

main ()
Avatar
Petr Krchňák:6.12.2021 2:18

Např. oproti kurzu PyLadies (naucse.python.cz), je zde definice funkcí vysvětlena opravdu náročně.

Avatar
Marekmk
Člen
Avatar
Marekmk:6.12.2021 11:34

Opis v niektorých krokoch nebol dosť podrobný pre začiatočníka

Avatar
adam
Člen
Avatar
adam:3.4.2022 15:25

Ahoj

Potřeboval bych pomoct z Python definicemi.
Myslím to tak ,že když bude odpověď "ne" tak se mi vypíše text na odpověď ne .A když bude odpověď "ano" ,tak aby se mi vypsal text na odpověď ano.
Doufám ,že to někdo pochopíte a poradíte jak to mám udělat.
Předem děkuju za odpověď.

Editované
Avatar
Katka
Tvůrce
Avatar
Odpovedá na adam
Katka:19.4.2022 11:26

Ahoj Adame,
nevím, jestli chceš s ano/ne pracovat v rámci nějaké funkce? Kdyžtak upřesni dotaz...
Pouhá reakce na ano/ne by byla asi takhle:

odpoved = input("ANO nebo NE:\n").lower()

if odpoved == "ano":
    print("Text na odpověď ano...")
elif odpoved == "ne":
    print("Text na odpověď ne...")
else:
    print("Odpověď měla být ano/ne!")
Odpovedať
Rozdíl mezi tím, kým jsme a tím, kým chceme být, je jen v tom, co děláme.
Avatar
Martin Borkovec:10.7.2022 18:30

Ahoj, můžu se jen zeptat, proč aplikace nacti_cislo a dalsi_priklad jsou while loop? Kždy je aplikace main while loop, to nestačí?
Když jsem udělal kalulačku bez while loop u nacti_cislo a dalsi_priklad, tak se mi zdá, že to funguje stejně.

Děkuji za odpověď

Avatar
Odpovedá na Martin Borkovec
Martin Borkovec:10.7.2022 21:37

Beru dotaz zpět. Už jsem si to rozklíčoval. :-))

Avatar
Nina Kubačková:14.7.2022 11:00

Funguje mě (skoro) všechno. Kde jsem udělala chybu v tomto případě, netuším...

Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 124.