NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
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í.

Diskuze – Lekce 8 - Podmínky (větvení) v Pythonu

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
gcx11
Tvůrce
Avatar
Odpovídá na cukamartin
gcx11:15.6.2014 13:46

Díky :)

 
Odpovědět
15.6.2014 13:46
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 ?

 
Odpovědět
22.2.2015 22:52
Avatar
hanpari
Člen
Avatar
Odpovídá 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
>>>
 
Odpovědět
23.2.2015 12:19
Avatar
ondrasekno04
Člen
Avatar
ondrasekno04:23.2.2015 15:49

dík

Editováno 23.2.2015 15:49
 
Odpovědět
23.2.2015 15:49
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
 
Odpovědět
26.11.2015 21:42
Avatar
Odpovídá 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
Odpovědět
26.11.2015 22:19
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Avatar
Odpovídá 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.)

 
Odpovědět
27.11.2015 15:48
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):
 
Odpovědět
27.11.2015 16:01
Avatar
Milan Šmídl:27.11.2015 16:05

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

 
Odpovědět
27.11.2015 16:05
Avatar
xpoproci
Člen
Avatar
Odpovídá 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
Odpovědět
27.11.2015 16:13
Motto
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 10 zpráv z 158.