Python - základy
Python - základy - info o programu
# -*- coding: utf-8 -*- (kódování češtiny)
Poznámky:
- základní operace
- proměnné (závisí na velikosti písmen)
- text (textový řetězec) - do uvozovek
- type(c)
- datové typy
- řetězec
- input()
- cislo = int(input('zadej nějaké číslo '))
- print('Zadané číslo: ', cislo)
- parsování
- int
- float
- str
- podmínka
- if (podmínka):
prikaz1
prikaz2
else:
prikaz3
prikaz4 - příklad - prohození 0 a 1
- logické operátory
- a - and
- nebo - or
- negace - not
print('Zadejte číslo v rozmezí 10 - 20')
if ((cislo >= 10) and (cislo <=20)):
print('OK')
else:
print('Špatně')
Python
# -*- coding: utf-8 -*-
# !/usr/bin/env python3
- vyvíjen jako open source ('oupn sórs')
- dynamicky interpretovaný (překládá se za běhu)
- jednoduchá syntaxe
- proměnné není potřeba předem deklarovat
- dynamický typový systém
do proměnné něco uložím,
jazyk Py zjistí, že nebyla deklarována
sám založí
automaticky mění datový typ při změně - statický
nutná deklarace
nemění se - pythonovská konzole + editor IDLE('ajdl')
- IDLE - integrované vývojové prostředí
aplikace, ve které píšu zdrojový kód
testujeme, ladíme
""" víceřádkový komentář"""
''' víceřádkový komentář'''
# jednořádkový komentář
Základní matematické operace:
- +
- -
- *
- /
- // celočíselné dělení
- % zbytek po dělení (modulo)
- ** umocňování
Složitější výpočty - funkce
- každá funkce má svoje jméno a obvykle i nějaký vstup
- fci spustíme tzv. zavoláním
- fce round () - zaokrouhluje (rozdíl MAT - vždy k nejbližšímu sudému číslu), fce len() - délka řetězce
- když fci zavolám - vrátí výsledek
Moduly
- udržují přehlednost mezi velkým množstvím funkcí
- math - matematické fce
- chci použít - musím importovat
import math - volám fci z modulu:
název_modulu.název_fce(arg. fce) - modul random - fce pro generování náhodných čísel
randint() - generuje náh. číslo v zadaném rozmezí
hrací kostka - randint(1,6)
Konzole - vždy jen jeden příkaz
Program
- text. soubor
- obsahuje více příkazů najednou
- příkazy postupně vykonává
- problém: automaticky nevrací (nezobrazí) žádné výsledky
- fce print() --> výpis do terminálu
První program:
- sekvence příkazů
- rozhodování (podmínka) - část programu se vykoná za určitých podmínek
změna chování na základě zadaného vstupu od uživatele - příklad:
if vek >= 18:
print('Vítej ve světě dospělých')
else:
print('Sem ješte nesmíš!')
Bloky - odsazování od okraje
Seskupování příkazů do jednoho celku
2 - 4 mezery, TAB
Podmínky s více větvemi:
- if vek < 6:
print('Předškolák')
elif vek < 15:
print('Školák')
elif vek < 18:
print('Mladistvý')
else:
print('Dospělý')
Porovnávací operátory:
- == rovno (rovná se)
- != nerovná se
- > větší
- >= větší nebo rovno
- <= menší nebo rovno
- < menší
Sekvenční hodnoty:
--> řetězec
--> seznam apod.
jmeno = "Hubert"
jmeno[0] ....... 'H'
jmeno[4] ...... 'r' počítá se od 0
hodnoty jsou tzv. indexovány - 1. pozice ..... index 0 atd.
Seznamy:
- znamky = [ 1, 2, 2, 3, 1, 1, 2, 4 ]
- uzivatel = [ 'jan' , 'eva' , 'mirek' ]
- platby = [ 'Jan Novák' , 12000, true ]
- body = [ [ 140 , 120 ] , [ 60 , 92 ] , [ 34 , 68 ] ]
Skládání indexů:
- uzivatel[ 1] [ 3 ] - čtvrté písmeno (index 3) druhého jména (index 1)
Cykly
- opakování nějaké činnosti
- cyklus FOR - se známým počtem opakování
- příklad:
znamky = [ 1 , 3 , 2 , 1 , 1 , 2 ]
for z in znamky:
print(z) - příklad:
jmena = [ 'petr' , 'pavel' , 'adam' , 'eva' ]
for jmeno in jmena:
mail = jmeno + '@gamil.com'
print(mail)
FOR + podmínka:
- jmena = [ 'petr' , 'pavel' , 'adam' , 'eva' ]
for jmeno in jmena:
if len(jmeno) <= 4:
mail = jmeno + '@gmail.com'
else:
mail = jmeno + '@seznam.cz'
print(mail)
Součet všech čísel v seznamu:
- soucet = 0
for cislo in cisla:
soucet = soucet + cislo (math.sum()) - příklad:
Napiš program, který projde zadaný seznam čísel a najde v něm největší hodnotu.