Podmíněný příkaz, divnosti v Pythonu
Co jsme dnes probrali
Podmíněný příkaz (if-statement)
- Podmínky
- V kódu se můžeme rozhodovat, co se kdy vykoná, pomocí tzv. podmíněných příkazů
- K tomu slouží klíčová slovíčka
if,elifaelse - Podmínka může mít jen dvě hodnoty, a to pravda nebo nepravda
- Příklad, který podle proměnné
scorenastaví hodnotugrade, ve které bude po ukončení celého if-statementu známka
score = 85 if score >= 90: grade = "A" elif score >= 80: grade = "B" elif score >= 70: grade = "C" elif score >= 60: grade = "D" else: grade = "F" print("Your grade is:", grade)- Příklad s
notoperátorem (pro proměnné typubool)
logged_in = False if not logged_in: print("You need to log in first!")- Příklad s
andaoroperátory
is_member = True has_coupon = False purchase_amount = 100 if purchase_amount > 50 and (is_member or has_coupon): print("Discount applied!")
Divnosti v Pythonu
- Násobení stringu číslem
3 * 'ahoj' == 'ahojahojahoj'
- Escapování
- String uvozují a zakončují uvozovky. Buďto pár
"nebo'. - Pokud bychom chtěli napsat řetězec
"We are the so-called "Vikings" from the north.", musíme uvozovky kolem slova Vikings tzv. escapenout (říct Pythonu, že tím neuvozujeme nebo neukončujeme řetězec). - Použijeme tedy zpětné lomítko
\, kterým uvozovky escapneme- Výsledek tedy bude vypadat takto:
"We are the so-called \"Vikings\" from the north." - Co se musí escapovat? Většinou
",',\(a ano, zpětné lomítko se musí escapovat, a to\\)
- Výsledek tedy bude vypadat takto:
- Escapování se můžeme vyhnout pokud
- Uvozujeme string jedním druhem uvozovek a uvnitř používáme druhý druh uvozovek
- Například:
'We are the so-called "Vikings" from the north.'
- Například:
- Použijeme tzv. raw string, což je string, který začíná předponou
r- Například:
r"We are the so-called "Vikings" from the north."
- Například:
- Uvozujeme string jedním druhem uvozovek a uvnitř používáme druhý druh uvozovek
- String uvozují a zakončují uvozovky. Buďto pár
- Multi-line stringy (řetězce, které můžeme roztáhnout na více řádků) se uvozují třemi uvozovkami
""".
Úlohy
Sudé
- Napište program, který řekne, jestli je zadané číslo sudé.
Kvadratická rovnice
- Napište program, který spočítá kořeny kvadratické rovnice.
- Uživatel zadá koeficienty a, b, c.
- Program musí umět zpracovat i nulové koeficienty.
- Pozor na to, že rovnice může mít jedno řešení, nebo nemusí mít žádné reálné řešení.
Vlajka
Napište program, který vykreslí následující obrázek (samozřejmě, v praxi byste na takovýhle úkol program nepsali, ale aspoň si procvičíte escape-sekvence).
._____
|\ \
| \ \\ \
| \ \
| """""
`"""""
(Převzato od Vojtěcha Horkého, zdroj)