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 – 8. diel - Podmienky (vetvenie) 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
gcx11
Tvůrce
Avatar
Avatar
ondrasekno04
Člen
Avatar
ondrasekno04:22.2.2015 22:52

Ahoj . Chci se zeptat na ten cyklus for in. Znamená, ze ldyz napisete

for a in abc
...

ze se provedou prikazy pokud je a v abc ?

Avatar
hanpari
Člen
Avatar
Odpovedá na ondrasekno04
hanpari:23.2.2015 12:19

To jsou dvě různé věci

>>> for c in "abc": print(c)

a
b
c
>>> "a" in "abc"
True
>>>
Avatar
ondrasekno04
Člen
Avatar
ondrasekno04:23.2.2015 15:49

dík

Editované
Avatar
Milan Šmídl:26.11.2015 21:42

Zdravim chlapy, Dokaze mi nekdo rict, proc mi tento kod nefunguje? Nechci to porovnavat s originalem, prvne to zkusim takto..
Predem dekuji..mejte se

print("mildova kalkulacka")
cykly = True
while cykly:
    x = int(input("zadej X:"))
    y = int(input("zadej Y:"))
    součet = x+y
    součin = x*y
    print("zadej 1 pro soucet a 2 prosoucin")
    vyber = int(input("vzber cislo operace"))
    if vyber==1:
        print(součet)
    if vyber==2:
        print(součin)
    else:
        print("cos to zadal ty ...!")
    odpoved = input("\Chces pokracovat pokracovat? y / n: ")
    if odpoved==y:
       cykly = True
    elif odpoved==n:
       cykly = False
       pass
Avatar
Odpovedá na Milan Šmídl
Michal Šmahel:26.11.2015 22:19

Jakou chybu to hází??
Proměnné si zakládej až v podmínce, při větším kódu je to matoucí a snižuje to výkon. V tomto případě to stačí jen vypsat (1). Jedna podmínka je špatně, máš tam if místo elif (1). V podmínkách nemáš string (textový řetězec) v uvozovkách - "" (2). Ideální by bylo nepoužívat diakritiku (háčky a čárky) v názvech proměnných. Pokračování nemáš ošetřené (3).
1:

# Získání čísel
x = int(input("zadej X: "))
y = int(input("zadej Y: "))

# Získání operace
print("Zadej 1 pro soucet a 2 prosoucin")
vyber = int(input("Cislo operace: "))

# Provedení operace
if vyber == 1:
    print(x + y)
#Tady musí být elif, jedná se pořád o jednu podmínku
elif vyber == 2:
    print(x * y)
else:
    print("Co jsi to zadal, ty ...!")

2:

if odpoved == "y":
   cykly = True
elif odpoved == "n":
   cykly = False
   pass

3:

# Poprvé musí být na true, aby se otázka provedla
chybna_odpoved = True
while chybna_odpoved:
    # Zjištění hodnoty
    odpoved = input("Chces pokracovat? (y / n): ")

    # Vyhodnocení
    if odpoved == "y":
        cykly = True
        chybna_odpoved = False
    elif odpoved == "n":
        cykly = False
        chybna_odpoved = False
    else:
        chybna_odpoved = True
Odpovedať
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Avatar
Odpovedá na Michal Šmahel
Milan Šmídl:27.11.2015 15:48

Díky, kalkulacku uz mam vyresenou..ted resim dalsi zadani a vazne nevim co se nezda..dam dalsi prispevek.)

Avatar
Milan Šmídl:27.11.2015 16:01

Vazne nevim co je zapsano spatne, uz jsem vyzkousel vsechny kombinace..predem dekuji za jakoukoliv pomoc
Zde je cast kodu..

for x in range(x1,y1):
        for y in range(x2,y2):
            soucet = x+y
            if (soucet >= x1 and
               soucet <= y1) or
               (soucet => x2 and
                soucet <= z2):
Avatar
Milan Šmídl:27.11.2015 16:05

Pardon je to cviceni z teto lekce...Intervaly jsem zapomel dodat:) hezky den..

Avatar
xpoproci
Člen
Avatar
Odpovedá na Milan Šmídl
xpoproci:27.11.2015 16:13

Zdravim v predposlednom riadku mas zle zapisany logicky operator ma to byt

soucet >= x2

a nie

soucet => x2
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 161.