Python bevezetés, Python 2 vs Python 3, IDE, egyszerű matematika, változók, szintaxis, és logika, ciklusok I.
, string I.
- Írjunk programot a fontosabb aritmetikai műveletetek szemléltetésére.
- Megoldás:
01/simpleMath.py
- link
String II.
(replace, find, count, lower, stb), feltételek (if, elif, else)
- Fizzbuzz: Koncentrációs játék, ahol 1-től kezdve soroljuk a számokat, és minden 3-mal osztahtó szám helyett azt kell mondani, hogy Fizz, az 5-tel oszthatók helyett, hogy Buzz. Ha 3-mal és 5-tel is osztható a szám, akkor azt kell mondani, hogy FizzBuzz.
- Írjunk programot, ami ilyen módon számol 1-től 100-ig!
- Megoldás:
02/fizzbuzz.py
- link
- Írjunk programot, ami a string szeletelését szemlélteti.
- Induljunk ki a
"@shannonturner"
majd valósítsuk meg a következő funkciókat:
My github handle is @shannonturner
My first name is shannon
My last name is turner
My last name is turner
My twitter handle is NOT @shannon
My last name is turner
My first name is shannon
- Megoldás:
02/slicing.py
- link (c) Shannon Turner
- A palindrom szűkebb értelemben olyan szó vagy szókapcsolat, amely visszafelé olvasva is ugyanaz. Pl:
Géza, kék az ég
. - Írjunk programot, amely ellenőrzi egy stringről, hogy palindrom-e. Ehhez az kell, hogy a programunk ne vegye figyelembe a kis/nagybetű közti különbséget illetve a szóközöket.
- Megoldás:
02/palindrom.py
- link
- Írjon programot, amely bekér a felhasználótól egy számot (ezt külön validálni nem kell) és a számnak megfelelő sorú piramis alakzatot rajzol ki
A
betűkből, például:
Kérem a sorok számát: 12
A 1
A A 2
A A A 3
A A A A 4
A A A A A 5
A A A A A A 6
A A A A A A A 7
A A A A A A A A 8
A A A A A A A A A 9
A A A A A A A A A A 10
A A A A A A A A A A A 11
A A A A A A A A A A A A 12
- Megoldás:
02/piramis.py
- link
- Írjon programot, amely a
Széchenyi István Egyetem, Győr
szöveget jelzi ki, soronként bővülő karakterszámmal:
S
Sz
Szé
Széc
Széch
Széche
Széchen
Szécheny
Széchenyi
Széchenyi
Széchenyi I
Széchenyi Is
Széchenyi Ist
Széchenyi Istv
Széchenyi Istvá
Széchenyi István
Széchenyi István
Széchenyi István E
Széchenyi István Eg
Széchenyi István Egy
Széchenyi István Egye
Széchenyi István Egyet
Széchenyi István Egyete
Széchenyi István Egyetem
Széchenyi István Egyetem,
Széchenyi István Egyetem,
Széchenyi István Egyetem, G
Széchenyi István Egyetem, Gy
Széchenyi István Egyetem, Győ
Széchenyi István Egyetem, Győr
- Megoldás:
02/szechenyi.py
- link
Ciklusok II.
, listák, join és split (string listává illetve fordítva)
torpok = ['Tudor', 'Vidor', 'Szende', 'Szundi', 'Hapci', 'Kuka', 'Morgó']
weasleyk = ['Bill', 'Charlie', 'Percy', 'Fred', 'George', 'Ron', 'Ginny']
zsirafok = ["Abigél", "Benő", "Zsebi"]
A fentihez hasonlóan állítsd elő az alábbiakat:
"Percy"
["Fred", "George"]
["Bill", "Charlie", "Percy", "Fred"]
"arlie"
"Gin"
- Írjon olyan kódot, ami megmondja, hogy Ron hányadik Weasley testvér
- Ron ábécé sorrendben hányadik Weasley testvér?
- A három legfiatalabb Weasley testvér közül ábécében ki az első?
- Írjon olyan kódot, ami lemásolja a weasleyk listát és a másolatból kitörli Percy-t.
- Írjon programot, ami beolvas egy szöveget, és megmondja, hány e betű van benne.
- Írjon programot, ami beolvas egy szöveget, majd egy betűt, és megmondja, a betű hányszor szerepel a szövegben.
- Írjon olyan programot, ami beolvas két szöveget és kiírja azt, amelyikben több az e betű
- Írjon olyan programot, ami beolvas egy mondatot, majd kiírja, hány szóból áll
Fájlok, flagek (r, w, b, +), szöveges formátumok, csv, matplotlib I.
- Megoldás:
04/moplot.py
- link - Írjon programot, ami beolvassa Magyaroszág helységeit a
mohely.csv
fájlból, majd megjeleníti azokat - Mivel több, mint 3000 darab település van, elég minden 5.-et kiplottolni, így gyorsabban megjeleníti
- A
fok:perc.századperc
-ből afok + (perc + (század / 60)) / 60
képlettel lehet decimális értéket számolni - Például Győr északi szélessége
47:41.28
, ez decimálisan:47.691
- A
mohely.csv
tartalma nagyjából így néz ki:Név;KeletiHossz;ÉszakiSzél Aba;18:31.49;47:02.06 Abádszalók;20:35.94;47:28.48 Abaliget;18:07.09;46:08.63 ... Zsujta;21:16.80;48:30.04 Zsurk;22:13.40;48:23.93
- Így nézzen ki a plot:
- Megoldás:
04/moscatter.py
- link - Fejlessze tovább a programot,
scatter
plottal, ami a népesség arányában jelenít meg különböző méretű köröket - Az adatokat
monepesseg.csv
-ből olvassa be, ez csak a legnagyobb 88 települést tartalmazza - A
monepesseg.csv
tartalma nagyjából így néz ki:Budapest;1752704 Debrecen;201981 Szeged;161137 Miskolc;157177 Pécs;144675 Györ;129301 ... Tapolca;15232 Balassagyarmat;15058
- Így nézzen ki a plot:
Hasznos külső library-k: matplotlib II.
, numpy
Dict, kivételkezelés (try / except)
Függvények, pár további hasznos library (import from ... import ... as szintaktika, time, random, math, regex (regular expressions), os, sys, json)
Python: osztályok, objektum orientált programozás
- A Python objektum orientált programozást a 2D-s pontok osztályának elkészítésén keresztül mutatjuk be. A Python nyelvben minden osztály (például a lista vagy a szótár is, de a függvények is). Egy
point2d.py
nevű fájlban kezdjük el az osztály kódjának elkészítését. - Megoldás:
08/point2d.py
- link (c) Siki Zoltán
Raspberry Pi: Python GPIO
OpenCV és képfeldolgozás I.
- Shannon Turner: Python lessons repository MIT license (c) Shannon Turner 2013-2014
- Siki Zoltán: Python mogyoróhéjban GNU FDL license (c) Siki Zoltán