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
1 score = 85 2 3 if score >= 90: 4 grade = "A" 5 elif score >= 80: 6 grade = "B" 7 elif score >= 70: 8 grade = "C" 9 elif score >= 60: 10 grade = "D" 11 else: 12 grade = "F" 13 14 print("Your grade is:", grade) - Příklad s
notoperátorem (pro proměnné typubool)
1 logged_in = False 2 3 if not logged_in: 4 print("You need to log in first!") - Příklad s
andaoroperátory
1 is_member = True 2 has_coupon = False 3 purchase_amount = 100 4 5 if purchase_amount > 50 and (is_member or has_coupon): 6 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)