Python pro Začátečníky | #08 | Cykly
HTML-код
- Опубликовано: 27 дек 2024
- V osmém díle tutoriálu Python pro Začátečníky si ukážeme cykly for a while, funkci range a také výrazy break a continue. Společně s listy, které si ukážeme příště, nám toto umožní pracovat s informacemi mnohem lépe.
Pokud něčemu nerozumíte, nebo potřebujete s něčím poradit, neváhejte se zeptat v komentářích!
Parádně vysvětleno rozdíl mezi cykly a podmínkou - už to chápu - díky
Vynikající video. Velmi srozumitelně vysvětleny typy cyklů while, for-in-range.
Výborné video. Děkuji za tvojí práci :)
A jdeme makat! Jsi můj vzor! 🤭
V předchozích dílech byl ukázaný příkaz input, za mě by jeho použití v ukázkových programech trochu uhladilo celý proces vysvětlování, ale jinak super videa. V tomto prostředí se teprve začínám orientovat a tvoje videa jsou opravdu výborná. Jen tak dál.
Dobrá poznámka, mohl jsem ho používat více, přece jenom jde o poměrně důležitou funkci. Bohužel už je vydaných více než 10 dalších videí, takže to už nemůžu změnit :/
Díky za komentář a jsem rád, že ti videa pomohla :)
Ahoj. Děláš to skvěle. Dík za to!
Dobrý den, můžete mně vysvětlit proč mně při týhle části kodu hlási syntaktický eror?
if 4 == 4:
print("4 se rovná 4")
break
print ("8 se rovná 6")
--------------------------------------------
Code is unreachablePylance
"break" can be used only within a loopPylance
K dispozici nejsou žádné rychlé opravy.
Děkují Marek
Break se používá jen v cyklech for nebo while. Nejsem si jistý, proč se break snažíte použít v podmínce. Pokud chcete, aby se ten druhý print spustil, když podmínka neplatí, potom můžete použít else blok.
if 4 == 4:
print("4 se rovná 4")
else:
print ("8 se rovná 6")
Odpověď @ConaxCoding je správná, pokud by autor videa zkusil spustit ukázku, sám by na to přišel, že break nelze použít v těle IF!
Super, díky
Zdravím, mám dotaz.
Mám for i in range(3, 27) a potřeboval bych, aby mi python vynechal čísla končící číslem 5 (5, 15, 25). Lze to nějak udělat?
Ano, stačí uvnitř cyklu na začátku bloku kódu zkontrolovat, zda se poslední znak proměnné `i` převedené na string nerovná `"5"`. Pokud ano, tak se provede `continue`.
V praxi by to vypadalo takhle:
for i in range (3, 27):
posledni_znak = str(i)[-1]
if posledni_znak == "5":
continue
# Za tento kód bude program pokračovat pouze, pokud `i` nekončí pětkou
Raději bych použil do podmínky modulo, takže dělitelnost 5!
if ...x % 5 != 0
Ahoj, chcel by som sa spýtať na podmienku while v tomto kóde, ktorý nižšie uvádzam. While pokiaľ reťazec? To je celá podmienka? A tiež nie celkom dobre rozumiem premennej i. Rozumiem, že iteruje nový reťazec a prechádza všetkými farbami. Ďakujem za odpoveď.
import tkinter
def stvorce(vel, retazec):
x, y = 10, 100
while retazec:
i = (retazec+' ').find(' ')
farba = retazec[:i]
retazec = retazec[i+1:]
canvas.create_rectangle(x, y, x+vel, y-vel, fill=farba)
x += vel+3
canvas = tkinter.Canvas()
canvas.pack()
stvorce(40, 'red blue purple red gold')
Většinu hodnot v Pythonu lze převést na bool. Při testování v podmínkách (například if nebo while) tento převod probíhá automaticky. Například int se převede na True, pokud je nenulový (třeba 5, -17, 942), na False se převede pouze 0. U stringu převod probíhá podobně: stringy, které mají jakýkoliv obsah (např. "Ahoj", "0", nebo " "), se převedou na True. Prázdný string "" se převede na False. Takže tato podmínka vlastně testuje, zda string obsahuje nějaké znaky.
Očakával som nejakú kompilkovanú odpoveď a prišlo mi jasné a jednoduché riešenie 😄 Ďakujem
@@martinliptak7024 Není zač :D
Ahoj udělal jsem si code na to, aby říkal jestli je rok přechodný či nikoli tak se ptám jak mám udělat v tomhle code, aby když nezadám číslo se to zase vrátilo na to, aby se znovu zadalo číslo a neukončil se program (ano vím, že se ukončuje tím exit(), ale bez exitu je error
try:
x = int(input("Zadejte rok: "))
except:
print("Říkám rok!")
if x % 4 == 0:
print("Tenhle rok je přechodný!")
else:
print("Tenhle rok není přechodný!")
Lze např. nejdříve nadefinovat x jako proměnnou s hodnotou None a potom dát první část kódu do while cyklu, který bude běžet, dokud se x bude rovnat None:
x = None
while x == None:
try:
x = int(input("Zadejte rok: "))
except:
print("Říkám rok!")
Nebo takhle:
while True:
x = int(input("Zadejte rok: "))
if x % 4 == 0:
print("Tenhle rok je přechodný!")
else:
print("Tenhle rok není přechodný!")
nebo taky
try:
v1 = int(input("zadejte rok: "))
except ValueError:
v1 = int(input("zkus numerickou, ty tele: "))
if v1 % 4 == 0:
print("ten je přestupnej")
else:
print("ten neni přestupnej")
čili při zachování tvýho postupu stačí vsunout do exceptu k upozornění na chybnou hodnotu další dotaz na vstup :)
Super video! :) Děkuju.
Ahoj začal jsem koukat na tvoje videa a zatím se mi to moc líbí ale mám otázku. Je mi 13 chodím do 8 třídy. Mám začít s programováním nebo to mám nechat na pozdeji až pujdu na vysokou? Trochu blbej dotaz ja vim. 😅
Není to blbý dotaz :)
Jestli tě to baví, tak začít s programováním rozhodně má smysl. Díky tomu ti to potom na vysoké půjde mnohem lépe. Ale samozřejmě je to na tobě.
@@ConaxCoding Dobře děkuji😁
Ahoj, tak jak jsi se po 8. měsíci posunul? xddd
Čau, jsem jediný, kdo může dát maximální kvalitu videa na 360p? Dřív šlo nastavit větší rozlišení. Nejsem tu poprvé.
Teď jsem to zkusil a jde mi normálně nastavit 1080p. Zřejmě to bude problém na tvé straně, ale bohužel mě nenapdá, čím to může být.
@@ConaxCoding Taky nevím. Třeba první video jde normálně. Od druhého až po deváté vide jde jen 360p. od 10. videa zase fullHD. Nechápu proč. Zkusím se sem vrátit později, třeba opravdu jen nějaká chyba v prohlížeči.
Díky
nechci vyzvídat ale kolik ti je let když umíš tak dobře python :)
jinak výborne video jako vždy moc díky
Je mi 16, ale na věku nezáleží, záleží na čase, který do programování investuješ :)
Ahoj,nezlob se prosím,nemám vůbec v úmyslu hanit tvá videa,ale je to vysvětlováno jako lidem,kteří už v tom mají něco za sebou....Lidem,kteří tuto problematiku vůbec neznají a je jim 50 +, tak pro ty se to asi tímto způsobem vysvětlovat nedá....
Nechápu point že nikdy není dobré dělat absolutní podmínky, v hodně textových i pygame hrách se to využívá pro nějaký loop který nikdy nekončí. PS: děkuji za turotial velmi užitečný!
Ano, dokud je uvnitř nekonečného loopu nějaký break nebo ukončení programu (obvykle pokud je splněna nějaká podmínka), tak je loop zcela v pořádku. Například v pygame hrách se obvykle ukončuje program, pokud nastane event pygame.QUIT.