Programování v Pythonu



Podobné dokumenty
Programování v Pythonu

Programování v Pythonu

Programování v Pythonu

Programování v Pythonu

Programování v Pythonu

Programování v Pythonu

Programování v Pythonu

Programování v Pythonu

Programování v Pythonu

Programování v Pythonu

Programování v Pythonu

Programování v Pythonu

Programování v Pythonu

Programování v Pythonu

Programování v Pythonu

Programování v Pythonu

Další příklady. Katedra softwarového inženýrství. Katedra teoretické informatiky, Fakulta informačních technologii, ČVUT v Praze. Karel Müller, 2011

Programování v Pythonu

Programování v Pythonu

Programování v Pythonu

SPJA, cvičení 1. ipython, python, skripty. základy syntaxe: základní datové typy, řetězce. podmínky: if-elif-else, vyhodnocení logických výrazů

8 Třídy, objekty, metody, předávání argumentů metod

IB111 Úvod do programování skrze Python Přednáška 7

Programování v jazyce C pro chemiky (C2160) 3. Příkaz switch, příkaz cyklu for, operátory ++ a --, pole

1. Téma 03 - Rozhodování

Úkoly k předmětu PGA. Evropský sociální fond Praha a EU Investujeme do vaší budoucnosti

(a kryptografické odbočky) IB111 Úvod do programování skrze Python

IB111 Základy programování Radek Pelánek

Funkce, podmíněný příkaz if-else, příkaz cyklu for

Konečný automat. Jan Kybic.

4. Rekurze. BI-EP1 Efektivní programování Martin Kačer

Rozptylovací tabulky

Obsah přednášky. programovacího jazyka. Motivace. Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup Kontinuace Program

NPRG030 Programování I, 2017/18 1 / :22:16

1. Úvodní informace. BI-EP1 Efektivní programování Martin Kačer

Seminá e. Ing. Michal Valenta PhD. Databázové systémy BI-DBS ZS 2010/11, sem. 1-13

Automatické testování softwaru. Testujte svůj kód! Předpoklady: Příklad: sum_digits() Možnost 1: Zkusíme funkci použít v konzoli Pythonu.

Ukázka knihy z internetového knihkupectví

Ukázka knihy z internetového knihkupectví

awk programovatelný filtr

Regulární výrazy. Filtry grep, sed a awk.

KONCEPT ZDRAVÉ BUDOVY

IB111 Úvod do programování skrze Python Přednáška 6

IB111 Základy programování Radek Pelánek 1 / 61

PRÁCE SE STATISTICKÝM SOFTWARE STATISTICA

Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

Dotazování nad stromem abstraktní syntaxe

PROHLEDÁVÁNÍ GRAFŮ. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

MĚŘICÍ PŘEVODNÍKY STŘÍDAVÉHO PROUDU

Vlákna a internetové protokoly

Stromy. Jan Kybic.

Programování v Pythonu

ČVUT FIT: BI-SKJ: Perl

Programování v jazyce JavaScript

Motivace. Vstup a výstup. Minimální komunikace. Motivace. ÚDPJ - Vstup a výstup. Ing. Lumír Návrat katedra informatiky, A

Cvičné příklady Hodina 8 Cvičný 1

Databázové systémy. * relační kalkuly. Tomáš Skopal. - relační model

1. Téma 12 - Textové soubory a výjimky

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

FUNKCIONÁLNÍ A LOGICKÉ PROGRAMOVÁNÍ 5. CVIČENÍ

JUnit příklad na použití

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Programování v jazyce C pro chemiky (C2160) 4. Textové řetězce, zápis dat do souboru

Scrapping stránek prakticky: Dívka dne na TN.cz

3. Řízení běhu programu

Enterprise Java (BI-EJA) Technologie programování v jazyku Java (X36TJV)

IB111 Úvod do programování skrze Python

DO NOT PRINT THIS PAGE

IB111 Úvod do programování skrze Python

GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY CVIČENÍ 4

Objektově orientované programování v jazyce Python

Poslední aktualizace: 14. října 2011

Algoritmus. Algoritmus je posloupnost kroků, které jsou potřeba k vyřešení problému.

Automatic Alignment of Tectogrammatical Trees from Czech-English Parallel Corpus

U koly na procvic ení jazyka T-SQL

Programování v Pythonu

Basic256 - úvod do programování Příklady. ing. petr polách

Tabulkový procesor. Základní rysy

DSL manuál. Ing. Jan Hranáč. 27. října V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v

Objektově orientované programování v jazyce Python

C2184 Úvod do programování v Pythonu podzim Mgr. Stanislav Geidl Národní centrum pro výzkum biomolekul Masarykova univerzita.

Jazyk C# (seminář 3)

Spojový seznam. Jan Kybic.

Programy a algoritmy pracující s čísly. IB111 Úvod do programování skrze Python

IB111 Základy programování Radek Pelánek

IV122 Matematika a programování Úvod kurzu. Radek Pelánek

E-LEARNIGOVÉ KURZY LÉKAŘSKÉ INFORMATIKY MEDICAL INFORMATICS E-LEARNIG COURSES

Testování a spolehlivost. 4. Laboratoř Spolehlivostní modely 1

PROGRAMOVÁNÍ MIKROPOČÍTAČŮ CVIČENÍ 6

Python profesionálně: dynamické parametry, generátory, lambda funkce... with. Dynamické parametry

Operační systémy. Cvičení 4: Programování v C pod Unixem

Mělká a hluboká kopie

Programování v jazyce JavaScript

14. Složitější konstrukce

PROGRAMOVACÍ JAZYKY A PŘEKLADAČE STRUKTURA PŘEKLADAČE

Transformace ER SQL. Ing. Michal Valenta PhD. Databázové systémy BI-DBS ZS 2010/11, P edn. 9

Golfový simulátor P E T R M E L Č, V Ě K 1 7 E L E K T R O T E C H N I K Y NOVOVYSOČANSKÁ 4 8 / 2 8 0, P R A H A 9 T U TO R : I V O NOVÁK

PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

Relé nízké do PS/do patice, A

Principy objektově orientovaného programování

Transkript:

ƒeské vysoké u ení technické v Praze FIT Programování v Pythonu Ji í Znamená ek P íprava studijního programu Informatika je podporována projektem nancovaným z Evropského sociálního fondu a rozpo tu hlavního m sta Prahy. Praha & EU: Investujeme do va²í budoucnosti

Příklady k procvičení Slovníky 1 of 7 Slovníky 1. Zanalyzujte vstupní textový soubor následujícím způsobem: Vytvořte slovník, jehož klíči budou jednotlivá písmena a hodnotami počet jejich výskytů v textu. Uvedený slovník vypište pomocí pprint.pprint(). [ ] řešení (typy/slovniky/count_letters.1.py) text = f.read() for znak in text: # přeskoč nepísmenné znaky if not znak.isalpha(): continue # písmena zahrň do slovníku if znak not in statistika: statistika[znak] = 1 statistika[znak] += 1 2. Rozšiřte předchozí program tak, že hodnotou bude n-tice o dvou prvcích prvním bude počet výskytů daného písmene v textu, druhým jeho relativní četnost v % (vzhledem k počtu všech písmen v textu).

Příklady k procvičení Slovníky 2 of 7 [ ] řešení (typy/slovniky/count_letters.2.py) text = f.read() for znak in text: # přeskoč nepísmenné znaky if not znak.isalpha(): continue # písmena zahrň do slovníku if znak not in statistika: statistika[znak] = [1, 0] statistika[znak][0] += 1 pismen = len(text) for klic in statistika: statistika[klic][1] = statistika[klic][0] / pismen # převod na procenta statistika[klic][1] = 100 * statistika[klic][1] 3. Upravte předchozí program tak, aby nerozlišoval mezi malými a velkými písmeny.

Příklady k procvičení Slovníky 3 of 7 [ ] řešení (typy/slovniky/count_letters.3.py) text = f.read().lower() for znak in text: # přeskoč nepísmenné znaky if not znak.isalpha(): continue # písmena zahrň do slovníku if znak not in statistika: statistika[znak] = [1, 0] statistika[znak][0] += 1 pismen = len(text) for klic in statistika: statistika[klic][1] = statistika[klic][0] / pismen # převod na procenta + zaokrouhlení statistika[klic][1] = 100 * statistika[klic][1] 4. Obměňte první program tak, aby ukládal počet výskytů nikoli písmen, ale slov.

Příklady k procvičení Slovníky 4 of 7 [ ] řešení (typy/slovniky/count_words.1.py) import string text = f.read().split() text = [ slovo.strip(string.punctuation) for slovo in text ] for slovo in text: if slovo not in statistika: statistika[slovo] = 1 statistika[slovo] += 1 # pro zajímavost ještě seřazeno podle počtu výskytů print( sorted(statistika, key=lambda x: statistika[x], reverse=true) ) 5. Rozšiřte předchozí program tak, že hodnotou bude n-tice o dvou prvcích prvním bude počet výskytů daného slova v textu, druhým jeho relativní četnost v % (vzhledem k počtu všech slov v textu).

Příklady k procvičení Slovníky 5 of 7 [ ] řešení (typy/slovniky/count_words.2.py) import string text = f.read().split() text = [ slovo.strip(string.punctuation) for slovo in text ] for slovo in text: if slovo not in statistika: statistika[slovo] = [1, 0] statistika[slovo][0] += 1 slov = len(text) for klic in statistika: statistika[klic][1] = statistika[klic][0] / slov # převod na procenta statistika[klic][1] = 100 * statistika[klic][1] 6. Napište funkci, která spojí dohromady dva slovníky. Ukázka: {"a": 1, "b": 2, "c": 3}, {"d": 7, "e": 8} => {"a": 1, "b": 2, "c": 3, "d": 7, "e": 8} [ ] řešení (typy/slovniky/01a.py) def concat_dicts(d1, d2): d = {} for k,v in d1.items(): d[k] = v for k,v in d2.items(): d[k] = v return d # test print( concat_dicts( {"a":1, "b":2, "c":3}, {"d":7, "e":8} ) )

Příklady k procvičení Slovníky 6 of 7 [ ] řešení (typy/slovniky/01b.py) def concat_dicts(d1, d2): d = {} d.update(d1) d.update(d2) return d # test print( concat_dicts( {"a":1, "b":2, "c":3}, {"d":7, "e":8} ) ) 7. Napište funkci, která bude obracet slovník. Bude brát slovník jako jediný argument a vrátí nový slovník, ve kterém budou hodnoty ze vstupního slovníku převedeny na klíče a klíče na hodnoty. Ukázka: {1: 'A', 2: 'B'} => {'A': 1, 'B': 2} [ ] řešení (typy/slovniky/02.py) def invert_dict(dictionary): ret = {} for k, v in dictionary.items(): ret[v] = k return ret # test d1 = { 1:'A', 2:'B', } d2 = { 1:'A', 2:'B', 3:'B', 4:'A', 5:'C', } print(d1) print( invert_dict(d1) ) print() print(d2) print( invert_dict(d2) ) 8. Upravte předchozí program tak, aby bral v potaz skutečnost, že hodnoty nemusí být unikátní. Pro každou hodnotu tedy bude vytvářet seznam původních klíčů. Ukázka: {1: 'A', 2: 'B', 3: 'B', 4: 'A', 5: 'C'} => {'A': [1,4], 'B': [2,3], 'C': [5]}

Příklady k procvičení Slovníky 7 of 7 [ ] řešení (typy/slovniky/03.py) def invert_dict_multi(dictionary): """handles multiple different keys for one value""" ret = {} for k, v in dictionary.items(): if v in ret: ret[v].append(k) ret[v] = [k] return ret # test d1 = { 1:'A', 2:'B', } d2 = { 1:'A', 2:'B', 3:'B', 4:'A', 5:'C', } print(d1) print( invert_dict_multi(d1) ) print() print(d2) print( invert_dict_multi(d2) )