Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
ra3sk
Člen
Avatar
ra3sk:8.12.2015 19:47

Ahoj, mám problém s volaním vrátenej hodnoty. Viem, že to nemôže fungovať a aj viem prečo. Len neviem ako to napísať tak aby mi to fungovalo. Ak by bol niekto taký dobrý a napísal mi sem riešenie, poprípade aj nejaké vysvetlenie. Predom ďakujem za všetky odpovede a tu je môj kód.

def cyklus(pocetopakovani,prvecislo):
    i=0
    while i < (pocetopakovani-1):
        druhecislo = int(input("Zadaj druhé číslo:"))
        maximum=minimum=prvecislo
        if maximum < druhecislo:
            maximum = druhecislo
        else:
             pass
        if minimum > druhecislo:
            minimum = druhecislo
        i+=1
    return maximum,minimum
cyklus(int(input("Zadaj počet opakovaní:")),int(input("Zadaj prvé číslo:")))
print("Najväčšie zadané číslo bolo: "+str(maximum)+" a najmenšie zadané číslo bolo: "+str(minimum))
 
Odpovědět
8.12.2015 19:47
Avatar
coells
Tvůrce
Avatar
Odpovídá na ra3sk
coells:8.12.2015 20:01

Opravený kód:

def cyklus(opakovani, prvecislo):
    maximum = minimum = prvecislo
    for i in range(1, opakovani):
        druhecislo = int(input("Zadaj druhé číslo:"))
        minimum, maximum = min(minimum, druhecislo), max(maximum, druhecislo)
    return maximum, minimum

maximum, minimum = cyklus(
    int(input("Zadaj počet opakovaní:")),
    int(input("Zadaj prvé číslo:"))
)
print("Najväčšie zadané číslo bolo: %d a najmenšie zadané číslo bolo: %d" % (maximum, minimum))

Ale protože jsme v Pythonu, je dobré ho využívat:

def cyklus(opakovani, prvecislo):
    cisla = [prvecislo] + [int(input("Zadaj druhé číslo:")) for i in range(1, opakovani)]
    return max(cisla), min(cisla)

maximum, minimum = cyklus(
    int(input("Zadaj počet opakovaní:")),
    int(input("Zadaj prvé číslo:"))
)
print("Najväčšie zadané číslo bolo: %d a najmenšie zadané číslo bolo: %d" % (maximum, minimum))
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
8.12.2015 20:01
Avatar
ra3sk
Člen
Avatar
Odpovídá na coells
ra3sk:8.12.2015 20:22

Aj keď nejakým veciam stále nerozumiem tak to čo som nevedel som pochopil. Ďakujem za opoveď.

 
Nahoru Odpovědět
8.12.2015 20:22
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.