├── .gitignore ├── .gitmodules ├── .readthedocs.yaml ├── LICENSE ├── README.md ├── arch ├── birkenfeld-sphinx-3e6163d5f04d.zip └── pygame-1.9.1release.zip ├── bazy ├── orm │ ├── ormpw01.py │ ├── ormpw02.py │ ├── ormpw03.py │ ├── ormpw04.py │ ├── ormsa01.py │ ├── ormsa02.py │ ├── ormsa03.py │ └── ormsa04.py ├── sqlorm │ ├── ormpw01.py │ ├── ormpw02.py │ ├── ormpw03.py │ ├── ormpw04.py │ ├── ormpw05.py │ ├── sqlraw01.py │ ├── sqlraw02.py │ ├── sqlraw03.py │ ├── sqlraw04.py │ └── sqlraw05.py └── sqlraw │ ├── dane.py │ ├── sqlraw01.py │ ├── sqlraw02.py │ ├── sqlraw03.py │ ├── sqlraw04.py │ ├── sqlraw05.py │ ├── sqlraw06.py │ ├── sqlshell.py │ └── uczniowie.csv ├── czat └── czatpro │ ├── czat │ ├── __init__.py │ ├── admin.py │ ├── migrations │ │ ├── 0001_initial.py │ │ └── __init__.py │ ├── models.py │ ├── templates │ │ └── czat │ │ │ ├── czat_templates_base.zip │ │ │ ├── index.html │ │ │ ├── loguj.html │ │ │ ├── wiadomosc_form.html │ │ │ ├── wiadomosc_usun.html │ │ │ └── wiadomosci.html │ ├── tests.py │ ├── urls.py │ └── views.py │ ├── czatpro │ ├── __init__.py │ ├── settings.py │ ├── urls.py │ └── wsgi.py │ ├── db.sqlite3 │ └── manage.py ├── czat2 ├── czatpro2_z02.zip ├── czatpro2_z03.zip ├── czatpro2_z04.zip ├── czatpro2_z05.zip ├── czatpro2_z06.zip └── czatpro2_z07.zip ├── czat3 ├── czatpro3_z02.zip ├── czatpro3_z03.zip ├── czatpro3_z03a.zip ├── czatpro3_z04.zip └── czatpro3_z05.zip ├── docs ├── Makefile ├── _static │ ├── css │ │ └── python101.css │ └── custom.js ├── _templates │ └── footer.html ├── archiwum │ ├── env │ │ ├── gloss_env.bak │ │ ├── ide.bak │ │ ├── ide │ │ │ ├── gdebi.jpg │ │ │ ├── geany_win.jpg │ │ │ ├── ninja-ide.jpg │ │ │ ├── polish-dic.tgz │ │ │ ├── pyCharm4.jpg │ │ │ ├── st3.jpg │ │ │ └── st3.zip │ │ ├── img │ │ │ ├── MXLinux2201.jpg │ │ │ ├── bootice01.jpg │ │ │ ├── bootice02.jpg │ │ │ ├── bootice03.jpg │ │ │ ├── hpformat.jpg │ │ │ ├── imageusb.jpg │ │ │ ├── linux_live_usb.jpg │ │ │ ├── lluc.jpg │ │ │ ├── mx_narzedzia.jpg │ │ │ ├── mx_remaster.jpg │ │ │ ├── mx_remaster_all.jpg │ │ │ ├── mx_remaster_home.jpg │ │ │ ├── mx_remaster_type.jpg │ │ │ ├── porteus322X.jpg │ │ │ ├── pygame_windows01.jpg │ │ │ ├── python00.jpg │ │ │ ├── python01.jpg │ │ │ ├── python02.jpg │ │ │ ├── python03.jpg │ │ │ ├── python04.jpg │ │ │ ├── rufus02.jpg │ │ │ ├── rufus_mxlinux_live.png │ │ │ ├── sru_usb08.png │ │ │ ├── sru_usb09.png │ │ │ ├── unetbootin_linux_lxpup.png │ │ │ ├── unetbootin_win_free.jpg │ │ │ ├── unetbootin_win_lxpup.jpg │ │ │ ├── universe.png │ │ │ ├── usbimgtool.jpg │ │ │ ├── win_matplotlib.jpg │ │ │ ├── winpath01.jpg │ │ │ └── winpath02.jpg │ │ ├── index.rst │ │ ├── interpreter.rst │ │ ├── linux.rst │ │ ├── live.rst │ │ ├── live_vb.rst │ │ ├── lxpup.rst │ │ ├── lxpupimg │ │ │ ├── internet01.png │ │ │ ├── internet02.png │ │ │ ├── internet03.png │ │ │ ├── internet04.png │ │ │ ├── internet05.png │ │ │ ├── lxpfonts.png │ │ │ ├── lxpsave01.png │ │ │ ├── lxpsave02.png │ │ │ ├── lxpsave03.png │ │ │ ├── lxpsave04.png │ │ │ ├── lxpsave05.png │ │ │ ├── lxpsave06.png │ │ │ ├── lxpsave07.png │ │ │ ├── lxpsave08.png │ │ │ ├── lxpsave09.png │ │ │ ├── lxpsave10.png │ │ │ ├── lxpsave11.png │ │ │ ├── lxpup.png │ │ │ ├── lxpup1515.png │ │ │ ├── lxpup_klawiatura01.png │ │ │ ├── lxpup_klawiatura02.png │ │ │ ├── lxpup_klawiatura03.png │ │ │ ├── lxpup_ustawienia.png │ │ │ ├── lxpuptahr.png │ │ │ ├── pcmanfm01.png │ │ │ ├── pet01.png │ │ │ ├── pet_quickpet03.png │ │ │ ├── ppm01.png │ │ │ ├── ppm02.png │ │ │ ├── ppm03.png │ │ │ ├── ppm04.png │ │ │ ├── sfs_click.png │ │ │ ├── sfs_home.png │ │ │ ├── sfs_load.png │ │ │ └── xenialpup701.jpg │ │ ├── opcje.rst │ │ ├── problemy.rst │ │ ├── tools.bak │ │ ├── vboximg │ │ │ ├── puppy_vb01.png │ │ │ ├── puppy_vb02.png │ │ │ ├── puppy_vb03.png │ │ │ ├── puppy_vb04.png │ │ │ ├── puppy_vb05.png │ │ │ ├── puppy_vb06.png │ │ │ ├── puppy_vb07.png │ │ │ ├── puppy_vb08.png │ │ │ ├── puppy_vb09.png │ │ │ ├── puppy_vb10.png │ │ │ ├── puppy_vb11.png │ │ │ ├── puppy_vb12.png │ │ │ ├── vbox01.jpg │ │ │ ├── vbox02.jpg │ │ │ ├── vbox03.jpg │ │ │ ├── vbox04.jpg │ │ │ ├── vbox05.jpg │ │ │ ├── vbox06.jpg │ │ │ └── vbox07.jpg │ │ └── windows.rst │ ├── faq │ │ └── index.rst │ ├── git │ │ ├── clone.png │ │ ├── fork.png │ │ ├── git-scm.png │ │ └── github1.png │ ├── gloss_system.bak │ ├── glossary_www.bak │ ├── index.rst │ ├── pdf │ │ ├── chatter_django.pdf │ │ ├── life_str.pdf │ │ ├── pong_str.pdf │ │ ├── quiz_flask.pdf │ │ ├── tictactoe_str.pdf │ │ └── todo_flask_sqlite.pdf │ └── warsztaty │ │ ├── index.rst │ │ ├── materialy.rst │ │ ├── python_cele_materialy_metody.odt │ │ ├── python_cele_materialy_metody.pdf │ │ ├── python_warsztaty16.odt │ │ ├── python_warsztaty16.pdf │ │ ├── python_warsztaty4.odt │ │ ├── python_warsztaty4.pdf │ │ ├── python_warsztaty8.odt │ │ ├── python_warsztaty8.pdf │ │ ├── warsztaty16g.rst │ │ ├── warsztaty4g.rst │ │ └── warsztaty8g.rst ├── authors.rst ├── bazy │ ├── index.rst │ ├── orm │ │ ├── index.rst │ │ ├── orm.zip │ │ ├── ormpw.py │ │ ├── ormsa.py │ │ ├── sqlite3_2.png │ │ └── uczniowie.csv │ ├── sql │ │ ├── dane.py │ │ ├── dane.rst │ │ ├── index.rst │ │ ├── sqlraw.py │ │ ├── sqlraw.zip │ │ ├── sqlshell.py │ │ └── uczniowie.csv │ ├── sqlite3.png │ ├── sqlite3.rst │ └── sqlorm │ │ ├── index.rst │ │ ├── ormpw.py │ │ ├── sqlorm.zip │ │ └── sqlraw.py ├── conf.py ├── copyright.rst ├── env │ ├── img │ │ ├── MXLinux2201.jpg │ │ ├── git00.jpg │ │ ├── git01.jpg │ │ ├── linux_live_usb.jpg │ │ ├── mx_narzedzia.jpg │ │ ├── mx_remaster.jpg │ │ ├── mx_remaster_all.jpg │ │ ├── mx_remaster_home.jpg │ │ ├── mx_remaster_type.jpg │ │ ├── pycharm_01.png │ │ ├── pycharm_02.png │ │ ├── pycharm_03.png │ │ ├── pycharm_04.png │ │ ├── pygame_windows01.jpg │ │ ├── python00.jpg │ │ ├── python01.jpg │ │ ├── python02.jpg │ │ ├── python03.jpg │ │ ├── python04.jpg │ │ ├── python05.jpg │ │ ├── rufus00.jpg │ │ ├── venv_windows.jpg │ │ ├── winpath01.jpg │ │ └── winpath02.jpg │ ├── index.rst │ ├── linux.rst │ ├── live.rst │ ├── realizacja.rst │ ├── tools.rst │ ├── venv.rst │ └── windows.rst ├── glossary.rst ├── index.rst ├── make.bat ├── mcpi │ ├── algorytmy │ │ ├── img │ │ │ ├── mcpi-lpi1.png │ │ │ ├── mcpi-lpi2.png │ │ │ ├── mcpi-lpi3.png │ │ │ ├── mcpi-lpi4_1.png │ │ │ ├── mcpi-lpi4_2.png │ │ │ ├── mcpi-lpi4_3.png │ │ │ ├── rbrowna-matplot.png │ │ │ ├── rbrowna0.png │ │ │ ├── rbrowna1.png │ │ │ ├── rbrowna2.png │ │ │ ├── rbrowna3.png │ │ │ └── rbrowna4.png │ │ ├── index.rst │ │ ├── mcpi-algorytmy.zip │ │ ├── mcpi-lpi.py │ │ ├── mcpi-lpi01.py │ │ ├── mcpi-lpi02.py │ │ ├── mcpi-lpi03.py │ │ ├── mcpi-lpi04.py │ │ ├── mcpi-rbrowna.py │ │ ├── mcpi-rbrowna01.py │ │ ├── mcpi-rbrowna02.py │ │ └── mcpi-rbrowna03.py │ ├── figury │ │ ├── img │ │ │ ├── mcsim-KzK.png │ │ │ └── mcsim-fig.png │ │ ├── index.rst │ │ ├── mcsim-2dKzK.py │ │ ├── mcsim-fig.py │ │ ├── mcsim-fig01.py │ │ └── mcsimfig.zip │ ├── funkcje │ │ ├── img │ │ │ ├── fkwadratowa1.png │ │ │ ├── fkwadratowa2.png │ │ │ ├── funkcje.png │ │ │ ├── mcpi-funkcje02.png │ │ │ ├── mcpi-funkcje04.png │ │ │ └── trygon.png │ │ ├── index.rst │ │ ├── mcpi-funkcje.py │ │ ├── mcpi-funkcje.zip │ │ ├── mcpi-funkcje01.py │ │ ├── mcpi-funkcje02.py │ │ ├── mcpi-funkcje03.py │ │ ├── mcpi-funkcje04.py │ │ ├── mcpi-funkcje05.py │ │ └── mcpi-funkcje06.py │ ├── glife │ │ ├── img │ │ │ ├── glife.png │ │ │ ├── ipython01-glife.png │ │ │ ├── mcpi-glife01.png │ │ │ ├── mcpi-glife03.png │ │ │ ├── mcpi-glife04.png │ │ │ ├── mcpi-glife05.png │ │ │ └── mcpi-glife06.png │ │ ├── index.rst │ │ ├── mcpi-glife.zip │ │ ├── mcpi-glife01.py │ │ ├── mcpi-glife02.py │ │ ├── mcpi-glife03.py │ │ ├── mcpi-glife04.py │ │ └── mcpi-glife05.py │ ├── gloss_mcpi.rst │ ├── index.rst │ ├── mcpi-sim-fix.zip │ ├── mcpi-sim.zip │ ├── mcpi.zip │ ├── mcsim-klasy │ │ ├── README.txt │ │ ├── mc.py │ │ └── mcsym.py │ ├── podstawy │ │ ├── img │ │ │ ├── ipython01.png │ │ │ ├── ipython02.png │ │ │ ├── ipython03.png │ │ │ ├── ipython04.png │ │ │ ├── ipython05.png │ │ │ ├── mc01.png │ │ │ ├── mcsim.png │ │ │ ├── minecraft-system.png │ │ │ └── rasplan-ip.jpg │ │ ├── index.rst │ │ ├── mcpi-piramida.py │ │ ├── mcpi-podst.py │ │ ├── mcpi-podst.zip │ │ ├── mcpi-podst01.py │ │ ├── mcpi-podst02.py │ │ ├── mcpi-podst03.py │ │ ├── mcpi-podst04.py │ │ ├── mcpi-podst05.py │ │ ├── mcpi-pomnik.py │ │ ├── mcpi-slad.py │ │ ├── mcpimin.py │ │ ├── mcsim01.py │ │ ├── mcsim02.py │ │ └── mcsim03.py │ ├── rgame │ │ ├── img │ │ │ ├── mcpi-rg-ip01.png │ │ │ ├── mcpi-rg-ip02.png │ │ │ ├── mcpi-rg-ip03.png │ │ │ ├── mcpi-rg01.png │ │ │ ├── mcpi-rg02.png │ │ │ ├── mcpi-rg03.png │ │ │ ├── mcpi-rg04.png │ │ │ ├── mcpi-rg05.png │ │ │ ├── mcpi-rg06.png │ │ │ ├── mcpi-rg07.png │ │ │ ├── mcpi-rg08.png │ │ │ └── mcpi-rg09.png │ │ ├── index.rst │ │ ├── lastgame.zip │ │ ├── mcpi-rg.zip │ │ ├── mcpi-rg01.py │ │ ├── mcpi-rg02.py │ │ ├── mcpi-rg03.py │ │ ├── mcpi-rg04.py │ │ └── mcpi-rg05.py │ └── turtle │ │ ├── img │ │ ├── mcpi-slonko.png │ │ ├── mcsim-turtKzK.png │ │ └── mcsim-turtle.png │ │ ├── index.rst │ │ ├── mcpi-turtle.py │ │ ├── mcsim-KzK3D.py │ │ ├── mcsim-turtle.py │ │ └── mcsim-turtle01.py ├── pdf │ └── pygame192.pdf ├── podstawy │ ├── dlotek │ │ ├── dlotek.zip │ │ ├── img │ │ │ ├── toto22_0.png │ │ │ ├── toto25.png │ │ │ └── toto26.png │ │ ├── index.rst │ │ ├── toto21.py │ │ ├── toto22.py │ │ ├── toto22_0.py │ │ ├── toto23.py │ │ ├── toto24.py │ │ ├── toto25.py │ │ ├── toto26.py │ │ ├── toto27.py │ │ └── toto28.py │ ├── elotek │ │ ├── analiza01.py │ │ ├── elotek.zip │ │ ├── index.rst │ │ ├── toto29.py │ │ ├── toto30.py │ │ ├── toto31.py │ │ ├── toto32.py │ │ ├── toto33.py │ │ ├── totomodul30.py │ │ ├── totomodul31.py │ │ ├── totomodul32.py │ │ ├── totomodul33.py │ │ └── tototk.py │ ├── gloss_python.rst │ ├── index.rst │ ├── mlotek │ │ ├── img │ │ │ ├── toto02.png │ │ │ ├── toto03.png │ │ │ ├── toto04.png │ │ │ └── toto07.png │ │ ├── index.rst │ │ ├── mlotek.zip │ │ ├── toto03.py │ │ ├── toto04.py │ │ ├── toto05.py │ │ ├── toto06.py │ │ └── toto07.py │ ├── podstawy │ │ └── analiza01.py │ ├── przyklady │ │ ├── 00_hello.py │ │ ├── 01_if.py │ │ ├── 01_trojkat.py │ │ ├── 02_petle.py │ │ ├── 03_listy.py │ │ ├── 04_fibonacci.py │ │ ├── 05_oceny.py │ │ ├── 06_slownik_csv.py │ │ ├── 06_slownik_txt.py │ │ ├── 07_szyfr_02.py │ │ ├── 07_szyfr_02a.py │ │ ├── index.rst │ │ ├── ocenyfun.py │ │ ├── przyklad00.rst │ │ ├── przyklad01.rst │ │ ├── przyklad02.rst │ │ ├── przyklad03.rst │ │ ├── przyklad04.rst │ │ ├── przyklad05.rst │ │ ├── przyklad06.rst │ │ └── przyklad07.rst │ ├── python2-przewodnik.pdf │ ├── pythonizmy.rst │ ├── wprowadzenie.odt │ └── wprowadzenie.pdf ├── pygame │ ├── glossary.rst │ ├── index.rst │ ├── life │ │ ├── code0.py │ │ ├── code1.py │ │ ├── code1a.py │ │ ├── code2.py │ │ ├── code2a.py │ │ ├── code3.py │ │ ├── index.rst │ │ └── screen1.png │ ├── life_str │ │ ├── index.rst │ │ ├── life.png │ │ ├── life_str.zip │ │ ├── life_str1.py │ │ ├── life_str2.py │ │ └── life_str3.py │ ├── pong │ │ ├── index.rst │ │ ├── pong_0.png │ │ ├── pong_3.png │ │ ├── pong_z1.py │ │ ├── pong_z2.py │ │ ├── pong_z3.py │ │ ├── pong_z4.py │ │ ├── pong_z5.py │ │ ├── pong_z6.py │ │ └── pong_z7.py │ ├── pong_str │ │ ├── freesansbold.ttf │ │ ├── index.rst │ │ ├── pong.png │ │ ├── pong_str.zip │ │ ├── pong_str01.py │ │ ├── pong_str02.py │ │ ├── pong_str03.py │ │ ├── pong_str04.py │ │ ├── pong_str05.py │ │ ├── pong_str06.py │ │ └── pong_str07.py │ ├── tictactoe │ │ ├── code0.py │ │ ├── index.rst │ │ └── screen1.png │ └── tictactoe_str │ │ ├── index.rst │ │ ├── tictactoe.png │ │ ├── tictactoe_str.zip │ │ ├── tictactoe_str1.py │ │ ├── tictactoe_str2.py │ │ ├── tictactoe_str3.py │ │ └── tictactoe_str4.py ├── pylab │ ├── img │ │ ├── pylab01.png │ │ └── rbrowna.png │ ├── index.rst │ ├── pylab.zip │ ├── pylab01.py │ ├── pylab02.py │ ├── pylab03.py │ ├── pylab04.py │ ├── pylab05.py │ ├── pylab06.py │ ├── rbrowna.py │ ├── rbrowna01.py │ ├── rbrowna02.py │ ├── rbrowna03.py │ └── rbrowna04.py ├── pyqt │ ├── index.rst │ ├── kalkulator │ │ ├── img │ │ │ ├── kalkulator01.png │ │ │ ├── kalkulator02.png │ │ │ ├── kalkulator03.png │ │ │ ├── kalkulator04.png │ │ │ ├── kalkulator05.png │ │ │ └── kalkulator06.png │ │ ├── index.rst │ │ ├── kalkulator-qt5-py2.zip │ │ ├── kalkulator-qt5-py3.zip │ │ ├── kalkulator.png │ │ ├── kalkulator01.py │ │ ├── kalkulator02.py │ │ ├── kalkulator03.py │ │ ├── kalkulator04.py │ │ ├── kalkulator05.py │ │ ├── kalkulator06.py │ │ └── kalkulator06a.py │ ├── todopw │ │ ├── baza_z2.py │ │ ├── baza_z3.py │ │ ├── baza_z4.py │ │ ├── baza_z5.py │ │ ├── baza_z6.py │ │ ├── gui_z0.py │ │ ├── gui_z1.py │ │ ├── gui_z2.py │ │ ├── gui_z3.py │ │ ├── gui_z4.py │ │ ├── gui_z5.py │ │ ├── gui_z6.py │ │ ├── img │ │ │ ├── todopw00.png │ │ │ ├── todopw01.png │ │ │ ├── todopw01a.png │ │ │ ├── todopw03.png │ │ │ ├── todopw04.png │ │ │ ├── todopw05.png │ │ │ └── todopw06.png │ │ ├── index.rst │ │ ├── tabmodel_z3.py │ │ ├── tabmodel_z4.py │ │ ├── tabmodel_z5.py │ │ ├── tabmodel_z6.py │ │ ├── todopw_qt5.zip │ │ ├── todopw_z0.py │ │ ├── todopw_z1.py │ │ ├── todopw_z2.py │ │ ├── todopw_z3.py │ │ ├── todopw_z4.py │ │ ├── todopw_z5.py │ │ └── todopw_z6.py │ └── widzety │ │ ├── gui_z0.py │ │ ├── gui_z1.py │ │ ├── gui_z2.py │ │ ├── gui_z3.py │ │ ├── gui_z4.py │ │ ├── gui_z5.py │ │ ├── gui_z6.py │ │ ├── gui_z7.py │ │ ├── img │ │ ├── widzety.png │ │ ├── widzety00.png │ │ ├── widzety01.png │ │ ├── widzety02.png │ │ ├── widzety03.png │ │ ├── widzety04.png │ │ ├── widzety05.png │ │ └── widzety06.png │ │ ├── index.rst │ │ ├── ksztalty.py │ │ ├── widzety_qt5.zip │ │ ├── widzety_z0.py │ │ ├── widzety_z1.py │ │ ├── widzety_z2.py │ │ ├── widzety_z3.py │ │ ├── widzety_z4.py │ │ ├── widzety_z5.py │ │ ├── widzety_z6.py │ │ └── widzety_z7.py ├── requirements.txt ├── rg │ ├── dokumentacja │ │ ├── img │ │ │ ├── kiting.gif │ │ │ ├── rules1.png │ │ │ └── rules2.png │ │ ├── index.rst │ │ ├── rg01rules.rst │ │ ├── rg02start.rst │ │ ├── rg03library.rst │ │ ├── rg04rgkit.rst │ │ ├── rg06basic.rst │ │ ├── rg07intermediate.rst │ │ ├── robot_b.py │ │ └── robot_p.py │ ├── img │ │ ├── RobotGame.gif │ │ ├── plansza01.png │ │ ├── plansza02.png │ │ ├── python27_01.jpg │ │ ├── python27_02.jpg │ │ ├── rgkit_env.png │ │ └── rgkit_windows.jpg │ ├── index.rst │ ├── klocki01.rst │ ├── klocki02a.rst │ ├── klocki02b.rst │ ├── klocki03b.rst │ ├── rg.ods │ ├── rgkit.rst │ ├── rgkod01.py │ ├── rgkod02.py │ ├── rgkod03.py │ ├── rgkod04a.py │ ├── rgkod04b.py │ ├── rgkod05a.py │ ├── rgkod05b.py │ ├── rgkod09a.py │ ├── rgkod09b.py │ ├── rgkod10a.py │ ├── rgkod10b.py │ ├── rgkod30b.py │ ├── robot_b.py │ ├── robot_z.py │ └── stupid261.py ├── webdjango │ ├── czat1 │ │ ├── admin.py │ │ ├── czat1.zip │ │ ├── img │ │ │ ├── django_admin.jpg │ │ │ ├── django_admin_uprawnienia.jpg │ │ │ ├── django_admin_wiadomosci1.jpg │ │ │ ├── django_admin_wiadomosci2.jpg │ │ │ ├── django_aplikacja.jpg │ │ │ ├── django_final1.jpg │ │ │ ├── django_final2.jpg │ │ │ ├── django_index1.jpg │ │ │ ├── django_index2.jpg │ │ │ ├── django_it_worked.jpg │ │ │ ├── django_loguj_form.jpg │ │ │ ├── django_migrations.jpg │ │ │ ├── django_projekt.jpg │ │ │ ├── django_wylogowany.jpg │ │ │ ├── django_zadzialalo.jpg │ │ │ └── django_zalogowany.jpg │ │ ├── index.html │ │ ├── index.rst │ │ ├── index_z2.html │ │ ├── loguj.html │ │ ├── loguj_z3.html │ │ ├── models.py │ │ ├── models_z1.py │ │ ├── urls.py │ │ ├── urls_p1.py │ │ ├── urls_z1.py │ │ ├── views.py │ │ ├── views_z1.py │ │ ├── views_z2.py │ │ ├── wiadomosci.html │ │ └── wiadomosci_z4.html │ ├── czat2 │ │ ├── admin.py │ │ ├── admin_z1.py │ │ ├── czat2.zip │ │ ├── czat2_z01.zip │ │ ├── forms_z6.py │ │ ├── img │ │ │ ├── django_dodawanie.png │ │ │ ├── django_edycja.png │ │ │ ├── django_edycja_usun.png │ │ │ ├── django_index.png │ │ │ ├── django_logowanie.png │ │ │ ├── django_rejestracja.png │ │ │ ├── django_usun.png │ │ │ └── django_wiadomosci.png │ │ ├── index.rst │ │ ├── index_z1.html │ │ ├── index_z2.html │ │ ├── index_z3.html │ │ ├── index_z4.html │ │ ├── index_z5.html │ │ ├── loguj_z3.html │ │ ├── models_z5.py │ │ ├── rejestruj_z2.html │ │ ├── settings.py │ │ ├── urls.py │ │ ├── urls_p1.py │ │ ├── views.py │ │ ├── wiadomosc_form_z5.html │ │ ├── wiadomosc_form_z6.html │ │ ├── wiadomosc_form_z7.html │ │ ├── wiadomosc_list_z4.html │ │ ├── wiadomosc_list_z5.html │ │ ├── wiadomosc_list_z6.html │ │ ├── wiadomosc_list_z7.html │ │ └── wiadomosc_usun_z7.html │ ├── czat3 │ │ ├── baza_z02.html │ │ ├── baza_z03.html │ │ ├── baza_z03a.html │ │ ├── baza_z04.html │ │ ├── baza_z05.html │ │ ├── czat3.zip │ │ ├── czat3_z01.zip │ │ ├── img.zip │ │ ├── img │ │ │ ├── django_bootstrap.png │ │ │ ├── django_jscript.png │ │ │ ├── django_obrazki.png │ │ │ └── django_style.png │ │ ├── index.rst │ │ ├── index_z02.html │ │ ├── js.zip │ │ ├── rejestruj_z02.html │ │ ├── rejestruj_z03a.html │ │ ├── style_z03.css │ │ └── wiadomosc_list_z02.html │ ├── index.rst │ └── mvc.rst └── webflask │ ├── index.rst │ ├── quiz │ ├── img │ │ ├── quiz1.png │ │ ├── quiz2.png │ │ ├── quiz3.png │ │ ├── quiz4.png │ │ ├── quiz5.png │ │ └── serwer.jpg │ ├── index.rst │ ├── quiz.zip │ ├── quiz1.py │ ├── quiz2.py │ ├── quiz3.py │ ├── quiz4.py │ ├── quiz5.py │ └── templates │ │ ├── index.html │ │ ├── index3.html │ │ ├── index4.html │ │ └── index5.html │ ├── quiz_orm │ ├── img │ │ ├── quiz-orm_dodawanie.png │ │ ├── quiz-orm_edycja.png │ │ ├── quiz-orm_edycja2.png │ │ ├── quiz-orm_glowna.png │ │ ├── quiz-orm_lista.png │ │ ├── quiz-orm_quiz.png │ │ ├── quiz-orm_skel.png │ │ ├── quiz-orm_usuwanie.png │ │ └── quiz-orm_usuwanie2.png │ ├── index.rst │ ├── quiz-orm-peewee.zip │ ├── quiz-orm-skel.zip │ ├── quiz-orm-sqlalchemy.zip │ ├── quiz2_1.png │ ├── quiz2_2.png │ ├── quiz2_3.png │ ├── quiz2_4.png │ ├── quiz2_5.png │ ├── quiz2_pw │ │ ├── app.py │ │ ├── dane.py │ │ ├── forms.py │ │ ├── main.py │ │ ├── models.py │ │ ├── pytania.csv │ │ ├── static │ │ │ └── style.css │ │ ├── templates │ │ │ ├── 404.html │ │ │ ├── dodaj.html │ │ │ ├── edytuj.html │ │ │ ├── index.html │ │ │ ├── lista.html │ │ │ ├── lista01.html │ │ │ ├── pytanie_form.html │ │ │ ├── pytanie_usun.html │ │ │ ├── quiz.html │ │ │ └── szkielet.html │ │ └── views.py │ └── quiz2_sa │ │ ├── app.py │ │ ├── dane.py │ │ ├── main.py │ │ ├── models.py │ │ └── views.py │ └── todo │ ├── img │ ├── sqlite.png │ ├── todo_01.png │ ├── todo_03_zadania.png │ ├── todo_04_dodawanie.png │ ├── todo_05_css.png │ └── todo_06_zrobione.png │ ├── index.rst │ ├── schema.sql │ ├── static │ └── style.css │ ├── templates │ ├── zadania_lista_z3.html │ ├── zadania_lista_z4.html │ ├── zadania_lista_z5.html │ └── zadania_lista_z6.html │ ├── todo.zip │ ├── todo_z1.py │ ├── todo_z2.py │ ├── todo_z3.py │ ├── todo_z4.py │ └── todo_z6.py ├── games ├── life.py ├── life_str.py ├── pong.py ├── pong_str.py ├── test_tic_tac_toe.py ├── tic_tac_toe.py └── tictactoe_str.py ├── games_str ├── life_str │ ├── life_str1.py │ ├── life_str2.py │ └── life_str3.py ├── pong_str │ ├── freesansbold.ttf │ ├── pong_str01.py │ ├── pong_str02.py │ ├── pong_str03.py │ ├── pong_str04.py │ ├── pong_str05.py │ ├── pong_str06.py │ └── pong_str07.py └── tictactoe_str │ ├── freesansbold.ttf │ ├── tictactoe_str1.py │ ├── tictactoe_str2.py │ ├── tictactoe_str3.py │ └── tictactoe_str4.py ├── quiz ├── quiz.py ├── readme.rst └── templates │ └── index.html ├── quiz2 ├── quiz2_pw │ ├── app.py │ ├── dane.py │ ├── main.py │ ├── models.py │ ├── pytania.csv │ ├── static │ │ └── style.css │ ├── templates │ │ ├── dodaj.html │ │ ├── edytuj.html │ │ ├── index.html │ │ ├── quiz.html │ │ └── szkielet.html │ └── views.py └── quiz2_sa │ ├── app.py │ ├── dane.py │ ├── main.py │ ├── models.py │ ├── pytania.csv │ ├── static │ └── style.css │ ├── templates │ ├── dodaj.html │ ├── edytuj.html │ ├── index.html │ ├── quiz.html │ └── szkielet.html │ └── views.py ├── requirements.txt ├── todo ├── db.sqlite ├── schema.sql ├── static │ └── style.css ├── templates │ └── zadania_lista.html └── todo.py └── totolotek ├── toto.py ├── toto02.py └── totomodul.py /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "pong"] 2 | path = pong 3 | url = https://github.com/koduj-z-klasa/pong.git 4 | [submodule "pylab"] 5 | path = pylab 6 | url = https://github.com/koduj-z-klasa/pylab.git 7 | -------------------------------------------------------------------------------- /arch/birkenfeld-sphinx-3e6163d5f04d.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/arch/birkenfeld-sphinx-3e6163d5f04d.zip -------------------------------------------------------------------------------- /arch/pygame-1.9.1release.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/arch/pygame-1.9.1release.zip -------------------------------------------------------------------------------- /bazy/orm/ormpw01.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | import os 5 | from peewee import * 6 | 7 | if os.path.exists('test.db'): 8 | os.remove('test.db') 9 | # tworzymy instancję bazy używanej przez modele 10 | baza = SqliteDatabase('test.db') # ':memory:' 11 | 12 | 13 | class BazaModel(Model): # klasa bazowa 14 | class Meta: 15 | database = baza 16 | -------------------------------------------------------------------------------- /bazy/orm/ormpw02.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | import os 5 | from peewee import * 6 | 7 | if os.path.exists('test.db'): 8 | os.remove('test.db') 9 | # tworzymy instancję bazy używanej przez modele 10 | baza = SqliteDatabase('test.db') # ':memory:' 11 | 12 | 13 | class BazaModel(Model): # klasa bazowa 14 | class Meta: 15 | database = baza 16 | 17 | 18 | # klasy Klasa i Uczen opisują rekordy tabel "klasa" i "uczen" 19 | # oraz relacje między nimi 20 | 21 | 22 | class Klasa(BazaModel): 23 | nazwa = CharField(null=False) 24 | profil = CharField(default='') 25 | 26 | 27 | class Uczen(BazaModel): 28 | imie = CharField(null=False) 29 | nazwisko = CharField(null=False) 30 | klasa = ForeignKeyField(Klasa, related_name='uczniowie') 31 | 32 | baza.connect() # nawiązujemy połączenie z bazą 33 | baza.create_tables([Klasa, Uczen], True) # tworzymy tabele 34 | -------------------------------------------------------------------------------- /bazy/orm/ormsa01.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | import os 5 | from sqlalchemy import Column, ForeignKey, Integer, String, create_engine 6 | from sqlalchemy.ext.declarative import declarative_base 7 | from sqlalchemy.orm import relationship, sessionmaker 8 | 9 | if os.path.exists('test.db'): 10 | os.remove('test.db') 11 | # tworzymy instancję klasy Engine do obsługi bazy 12 | baza = create_engine('sqlite:///test.db') # ':memory:' 13 | -------------------------------------------------------------------------------- /bazy/sqlorm/ormpw01.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | import os 5 | from peewee import * 6 | 7 | if os.path.exists('test.db'): 8 | os.remove('test.db') 9 | # tworzymy instancję bazy używanej przez modele 10 | baza = SqliteDatabase('test.db') # ':memory:' 11 | 12 | # BazaModel to klasa bazowa dla klas Klasa i Uczen, które 13 | # opisują rekordy tabel "klasa" i "uczen" oraz relacje między nimi 14 | 15 | 16 | class BazaModel(Model): 17 | class Meta: 18 | database = baza 19 | -------------------------------------------------------------------------------- /bazy/sqlorm/ormpw02.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | import os 5 | from peewee import * 6 | 7 | if os.path.exists('test.db'): 8 | os.remove('test.db') 9 | # tworzymy instancję bazy używanej przez modele 10 | baza = SqliteDatabase('test.db') # ':memory:' 11 | 12 | # BazaModel to klasa bazowa dla klas Klasa i Uczen, które 13 | # opisują rekordy tabel "klasa" i "uczen" oraz relacje między nimi 14 | 15 | 16 | class BazaModel(Model): 17 | class Meta: 18 | database = baza 19 | 20 | 21 | class Klasa(BazaModel): 22 | nazwa = CharField(null=False) 23 | profil = CharField(default='') 24 | 25 | 26 | class Uczen(BazaModel): 27 | imie = CharField(null=False) 28 | nazwisko = CharField(null=False) 29 | klasa = ForeignKeyField(Klasa, related_name='uczniowie') 30 | 31 | baza.connect() # nawiązujemy połączenie z bazą 32 | baza.create_tables([Klasa, Uczen], True) # tworzymy tabele 33 | -------------------------------------------------------------------------------- /bazy/sqlorm/sqlraw01.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | import sqlite3 5 | 6 | # utworzenie połączenia z bazą przechowywaną w pamięci RAM 7 | con = sqlite3.connect(':memory:') 8 | 9 | # dostęp do kolumn przez indeksy i przez nazwy 10 | con.row_factory = sqlite3.Row 11 | 12 | # utworzenie obiektu kursora 13 | cur = con.cursor() 14 | -------------------------------------------------------------------------------- /bazy/sqlorm/sqlraw02.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | import sqlite3 5 | 6 | # utworzenie połączenia z bazą przechowywaną w pamięci RAM 7 | con = sqlite3.connect(':memory:') 8 | 9 | # dostęp do kolumn przez indeksy i przez nazwy 10 | con.row_factory = sqlite3.Row 11 | 12 | # utworzenie obiektu kursora 13 | cur = con.cursor() 14 | 15 | # tworzenie tabel 16 | cur.executescript(""" 17 | DROP TABLE IF EXISTS klasa; 18 | CREATE TABLE IF NOT EXISTS klasa ( 19 | id INTEGER PRIMARY KEY ASC, 20 | nazwa varchar(250) NOT NULL, 21 | profil varchar(250) DEFAULT '' 22 | ); 23 | DROP TABLE IF EXISTS uczen; 24 | CREATE TABLE IF NOT EXISTS uczen ( 25 | id INTEGER PRIMARY KEY ASC, 26 | imie varchar(250) NOT NULL, 27 | nazwisko varchar(250) NOT NULL, 28 | klasa_id INTEGER NOT NULL, 29 | FOREIGN KEY(klasa_id) REFERENCES klasa(id) 30 | )""") 31 | -------------------------------------------------------------------------------- /bazy/sqlraw/dane.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | import os 5 | 6 | 7 | def pobierz_dane(plikcsv): 8 | """ 9 | Funkcja zwraca tuplę tupli zawierających dane pobrane z pliku csv 10 | do zapisania w tabeli. 11 | """ 12 | dane = [] # deklarujemy pustą listę 13 | if os.path.isfile(plikcsv): # sprawdzamy czy plik istnieje na dysku 14 | with open(plikcsv, "r") as zawartosc: # otwieramy plik do odczytu 15 | for linia in zawartosc: 16 | linia = linia.replace("\n", "") # usuwamy znaki końca linii 17 | linia = linia.replace("\r", "") # usuwamy znaki końca linii 18 | linia = linia.decode("utf-8") # odczytujemy znaki jako utf-8 19 | # dodajemy elementy do tupli a tuplę do listy 20 | dane.append(tuple(linia.split(","))) 21 | else: 22 | print "Plik z danymi", plikcsv, "nie istnieje!" 23 | 24 | return tuple(dane) # przekształcamy listę na tuplę i zwracamy ją 25 | -------------------------------------------------------------------------------- /bazy/sqlraw/sqlraw01.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python2 2 | # -*- coding: utf-8 -*- 3 | 4 | import sqlite3 5 | 6 | # utworzenie połączenia z bazą przechowywaną na dysku 7 | # lub w pamięci (':memory:') 8 | con = sqlite3.connect('test.db') 9 | 10 | # dostęp do kolumn przez indeksy i przez nazwy 11 | con.row_factory = sqlite3.Row 12 | 13 | # utworzenie obiektu kursora 14 | cur = con.cursor() 15 | -------------------------------------------------------------------------------- /bazy/sqlraw/sqlraw02.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python2 2 | # -*- coding: utf-8 -*- 3 | 4 | import sqlite3 5 | 6 | # utworzenie połączenia z bazą przechowywaną na dysku 7 | # lub w pamięci (':memory:') 8 | con = sqlite3.connect('test.db') 9 | 10 | # dostęp do kolumn przez indeksy i przez nazwy 11 | con.row_factory = sqlite3.Row 12 | 13 | # utworzenie obiektu kursora 14 | cur = con.cursor() 15 | 16 | # tworzenie tabel 17 | cur.execute("DROP TABLE IF EXISTS klasa;") 18 | 19 | cur.execute(""" 20 | CREATE TABLE IF NOT EXISTS klasa ( 21 | id INTEGER PRIMARY KEY ASC, 22 | nazwa varchar(250) NOT NULL, 23 | profil varchar(250) DEFAULT '' 24 | )""") 25 | 26 | cur.executescript(""" 27 | DROP TABLE IF EXISTS uczen; 28 | CREATE TABLE IF NOT EXISTS uczen ( 29 | id INTEGER PRIMARY KEY ASC, 30 | imie varchar(250) NOT NULL, 31 | nazwisko varchar(250) NOT NULL, 32 | klasa_id INTEGER NOT NULL, 33 | FOREIGN KEY(klasa_id) REFERENCES klasa(id) 34 | )""") 35 | -------------------------------------------------------------------------------- /bazy/sqlraw/sqlshell.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | # Minimala powłoka SQLite 4 | # https://docs.python.org/2/library/sqlite3.html 5 | 6 | import sqlite3 7 | 8 | con = sqlite3.connect(":memory:") 9 | con.isolation_level = None 10 | cur = con.cursor() 11 | 12 | buffer = "" 13 | 14 | print "Podaj polecenie SQL do wykonania w sqlite3." 15 | print "Naciśnij Enter, aby wyjść." 16 | 17 | while True: 18 | line = raw_input() 19 | if line == "": 20 | break 21 | buffer += line 22 | if sqlite3.complete_statement(buffer): 23 | try: 24 | buffer = buffer.strip() 25 | cur.execute(buffer) 26 | 27 | if buffer.lstrip().upper().startswith("SELECT"): 28 | print cur.fetchall() 29 | except sqlite3.Error as e: 30 | print "Wystąpił błąd:", e.args[0] 31 | buffer = "" 32 | 33 | con.close() 34 | -------------------------------------------------------------------------------- /bazy/sqlraw/uczniowie.csv: -------------------------------------------------------------------------------- 1 | Adam,Słodowy,1 2 | Monika,Kowalska,2 3 | Alicja,Osmala,2 4 | -------------------------------------------------------------------------------- /czat/czatpro/czat/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/czat/czatpro/czat/__init__.py -------------------------------------------------------------------------------- /czat/czatpro/czat/admin.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # czatpro/czat/admin.py 3 | 4 | from django.contrib import admin 5 | from czat.models import Wiadomosc # importujemy nasz model 6 | 7 | # rejestrujemy model Wiadomosc w panelu administracyjnym 8 | admin.site.register(Wiadomosc) 9 | -------------------------------------------------------------------------------- /czat/czatpro/czat/migrations/0001_initial.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | from django.db import models, migrations 5 | from django.conf import settings 6 | 7 | 8 | class Migration(migrations.Migration): 9 | 10 | dependencies = [ 11 | migrations.swappable_dependency(settings.AUTH_USER_MODEL), 12 | ] 13 | 14 | operations = [ 15 | migrations.CreateModel( 16 | name='Wiadomosc', 17 | fields=[ 18 | ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), 19 | ('tekst', models.CharField(max_length=250)), 20 | ('data_pub', models.DateTimeField()), 21 | ('autor', models.ForeignKey(to=settings.AUTH_USER_MODEL)), 22 | ], 23 | ), 24 | ] 25 | -------------------------------------------------------------------------------- /czat/czatpro/czat/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/czat/czatpro/czat/migrations/__init__.py -------------------------------------------------------------------------------- /czat/czatpro/czat/models.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # czatpro/czat/models.py 3 | 4 | from django.db import models 5 | from django.contrib.auth.models import User 6 | 7 | 8 | class Wiadomosc(models.Model): 9 | 10 | """Klasa reprezentująca wiadomość w systemie""" 11 | tekst = models.CharField(u'wiadomość', max_length=250) 12 | data_pub = models.DateTimeField(u'data publikacji') 13 | autor = models.ForeignKey(User) 14 | 15 | class Meta: # ustawienia dodatkowe 16 | verbose_name = u'wiadomość' # nazwa obiektu w języku polskim 17 | verbose_name_plural = u'wiadomości' # nazwa obiektów w l.m. 18 | ordering = ['data_pub'] # domyślne porządkowanie danych 19 | 20 | def __unicode__(self): 21 | return self.tekst # "autoprezentacja" 22 | -------------------------------------------------------------------------------- /czat/czatpro/czat/templates/czat/czat_templates_base.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/czat/czatpro/czat/templates/czat/czat_templates_base.zip -------------------------------------------------------------------------------- /czat/czatpro/czat/templates/czat/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |

Witaj w aplikacji Czat!

6 | 7 | {% if messages %} 8 | 13 | {% endif %} 14 | 15 | {% if not user.is_authenticated %} 16 | 19 | {% else %} 20 |

Jesteś zalogowany jako {{ user.username }}

21 | 25 | {% endif %} 26 | 27 | 28 | -------------------------------------------------------------------------------- /czat/czatpro/czat/templates/czat/loguj.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |

Witaj w aplikacji Czat!

5 | 6 |

Logowanie użytkownika

7 | {% if not user.is_authenticated %} 8 |
9 | {% csrf_token %} 10 | {{ form.as_p }} 11 | 12 |
13 | {% else %} 14 |

Jesteś już zalogowany jako {{ user.username }}

15 | 19 | {% endif %} 20 | 21 | 22 | -------------------------------------------------------------------------------- /czat/czatpro/czat/templates/czat/wiadomosc_usun.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |

Witaj w aplikacji Czat!

6 | 7 |

Usunięcie wiadomości

8 |

Czy na pewno chcesz usunąć wiadomość:

9 |
10 | {% csrf_token %} 11 |

{{ object }}

12 | 13 |
14 | 15 |

Wiadomości

16 | 17 | 18 | -------------------------------------------------------------------------------- /czat/czatpro/czat/templates/czat/wiadomosci.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |

Witaj w aplikacji Czat!

6 | 7 | {% if messages %} 8 | 13 | {% endif %} 14 | 15 |

Dodaj wiadomość

16 |
17 | {% csrf_token %} 18 | 19 | 20 |
21 | 22 |

Lista wiadomości:

23 |
    24 | {% for wiadomosc in wiadomosci %} 25 |
  1. 26 | {{ wiadomosc.autor.username }} ({{ wiadomosc.data_pub }}): 27 |
    {{ wiadomosc.tekst }} 28 |
  2. 29 | {% endfor %} 30 |
31 | 32 |

Strona główna

33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /czat/czatpro/czat/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /czat/czatpro/czat/urls.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # czatpro/czat/urls.py 3 | 4 | from django.conf.urls import url 5 | from czat import views 6 | from django.contrib.auth.decorators import login_required 7 | 8 | urlpatterns = [ 9 | url(r'^$', views.index, name='index'), 10 | url(r'^loguj/$', views.loguj, name='loguj'), 11 | url(r'^wyloguj/$', views.wyloguj, name='wyloguj'), 12 | url(r'^wiadomosci/$', views.wiadomosci, name='wiadomosci'), 13 | url(r'^wiadomosc/$', login_required( 14 | views.UtworzWiadomosc.as_view(), 15 | login_url='/loguj'), name='wiadomosc'), 16 | url(r'^wiadomosc-usun/(?P\d+)/$', login_required( 17 | views.UsunWiadomosc.as_view(), 18 | login_url='/loguj'), name='wiadomosc-usun'), 19 | ] 20 | -------------------------------------------------------------------------------- /czat/czatpro/czatpro/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/czat/czatpro/czatpro/__init__.py -------------------------------------------------------------------------------- /czat/czatpro/czatpro/urls.py: -------------------------------------------------------------------------------- 1 | """czatpro URL Configuration 2 | 3 | The `urlpatterns` list routes URLs to views. For more information please see: 4 | https://docs.djangoproject.com/en/1.8/topics/http/urls/ 5 | Examples: 6 | Function views 7 | 1. Add an import: from my_app import views 8 | 2. Add a URL to urlpatterns: url(r'^$', views.home, name='home') 9 | Class-based views 10 | 1. Add an import: from other_app.views import Home 11 | 2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home') 12 | Including another URLconf 13 | 1. Add an import: from blog import urls as blog_urls 14 | 2. Add a URL to urlpatterns: url(r'^blog/', include(blog_urls)) 15 | """ 16 | from django.conf.urls import include, url 17 | from django.contrib import admin 18 | 19 | urlpatterns = [ 20 | url(r'^', include('czat.urls', namespace='czat')), 21 | url(r'^czat/', include('czat.urls', namespace='czat')), 22 | url(r'^admin/', include(admin.site.urls)), 23 | ] 24 | -------------------------------------------------------------------------------- /czat/czatpro/czatpro/wsgi.py: -------------------------------------------------------------------------------- 1 | """ 2 | WSGI config for czatpro project. 3 | 4 | It exposes the WSGI callable as a module-level variable named ``application``. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/1.8/howto/deployment/wsgi/ 8 | """ 9 | 10 | import os 11 | 12 | from django.core.wsgi import get_wsgi_application 13 | 14 | os.environ.setdefault("DJANGO_SETTINGS_MODULE", "czatpro.settings") 15 | 16 | application = get_wsgi_application() 17 | -------------------------------------------------------------------------------- /czat/czatpro/db.sqlite3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/czat/czatpro/db.sqlite3 -------------------------------------------------------------------------------- /czat/czatpro/manage.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import sys 4 | 5 | if __name__ == "__main__": 6 | os.environ.setdefault("DJANGO_SETTINGS_MODULE", "czatpro.settings") 7 | 8 | from django.core.management import execute_from_command_line 9 | 10 | execute_from_command_line(sys.argv) 11 | -------------------------------------------------------------------------------- /czat2/czatpro2_z02.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/czat2/czatpro2_z02.zip -------------------------------------------------------------------------------- /czat2/czatpro2_z03.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/czat2/czatpro2_z03.zip -------------------------------------------------------------------------------- /czat2/czatpro2_z04.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/czat2/czatpro2_z04.zip -------------------------------------------------------------------------------- /czat2/czatpro2_z05.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/czat2/czatpro2_z05.zip -------------------------------------------------------------------------------- /czat2/czatpro2_z06.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/czat2/czatpro2_z06.zip -------------------------------------------------------------------------------- /czat2/czatpro2_z07.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/czat2/czatpro2_z07.zip -------------------------------------------------------------------------------- /czat3/czatpro3_z02.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/czat3/czatpro3_z02.zip -------------------------------------------------------------------------------- /czat3/czatpro3_z03.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/czat3/czatpro3_z03.zip -------------------------------------------------------------------------------- /czat3/czatpro3_z03a.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/czat3/czatpro3_z03a.zip -------------------------------------------------------------------------------- /czat3/czatpro3_z04.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/czat3/czatpro3_z04.zip -------------------------------------------------------------------------------- /czat3/czatpro3_z05.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/czat3/czatpro3_z05.zip -------------------------------------------------------------------------------- /docs/_static/css/python101.css: -------------------------------------------------------------------------------- 1 | @import url("theme.css"); 2 | 3 | span.caption-text { font-size: 0.65em; font-weight: bold; } 4 | -------------------------------------------------------------------------------- /docs/_static/custom.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function(){ 2 | $('#contents ul.simple').clone().insertAfter('div.wy-menu ul.current li.current a.current'); 3 | $('div.wy-menu ul.current li.current ul.simple').css('padding-left','3.8em'); 4 | //$('div.wy-menu ul.current li.current ul.simple').css('margin-left','2.5em'); 5 | $('div.wy-menu ul.current li.current ul.simple li').css('list-style-type','disc'); 6 | $('div.wy-menu ul.current li.current ul.simple li a').css('padding-left','0.5em'); 7 | $('div.wy-menu ul.current li.current ul.simple li a').css('margin-left','-0.5em'); 8 | 9 | }); 10 | 11 | $(document).on('click', 'div.wy-menu ul.current li.current ul.simple li a', function(){ 12 | $('div.wy-menu ul.current li.current ul.simple li a').each(function(){ 13 | $(this).css('background-color','#E3E3E3'); 14 | }); 15 | $(this).css('background-color','#c9c9c9'); 16 | }); 17 | -------------------------------------------------------------------------------- /docs/archiwum/env/ide/gdebi.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/ide/gdebi.jpg -------------------------------------------------------------------------------- /docs/archiwum/env/ide/geany_win.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/ide/geany_win.jpg -------------------------------------------------------------------------------- /docs/archiwum/env/ide/ninja-ide.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/ide/ninja-ide.jpg -------------------------------------------------------------------------------- /docs/archiwum/env/ide/polish-dic.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/ide/polish-dic.tgz -------------------------------------------------------------------------------- /docs/archiwum/env/ide/pyCharm4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/ide/pyCharm4.jpg -------------------------------------------------------------------------------- /docs/archiwum/env/ide/st3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/ide/st3.jpg -------------------------------------------------------------------------------- /docs/archiwum/env/ide/st3.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/ide/st3.zip -------------------------------------------------------------------------------- /docs/archiwum/env/img/MXLinux2201.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/img/MXLinux2201.jpg -------------------------------------------------------------------------------- /docs/archiwum/env/img/bootice01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/img/bootice01.jpg -------------------------------------------------------------------------------- /docs/archiwum/env/img/bootice02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/img/bootice02.jpg -------------------------------------------------------------------------------- /docs/archiwum/env/img/bootice03.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/img/bootice03.jpg -------------------------------------------------------------------------------- /docs/archiwum/env/img/hpformat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/img/hpformat.jpg -------------------------------------------------------------------------------- /docs/archiwum/env/img/imageusb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/img/imageusb.jpg -------------------------------------------------------------------------------- /docs/archiwum/env/img/linux_live_usb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/img/linux_live_usb.jpg -------------------------------------------------------------------------------- /docs/archiwum/env/img/lluc.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/img/lluc.jpg -------------------------------------------------------------------------------- /docs/archiwum/env/img/mx_narzedzia.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/img/mx_narzedzia.jpg -------------------------------------------------------------------------------- /docs/archiwum/env/img/mx_remaster.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/img/mx_remaster.jpg -------------------------------------------------------------------------------- /docs/archiwum/env/img/mx_remaster_all.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/img/mx_remaster_all.jpg -------------------------------------------------------------------------------- /docs/archiwum/env/img/mx_remaster_home.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/img/mx_remaster_home.jpg -------------------------------------------------------------------------------- /docs/archiwum/env/img/mx_remaster_type.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/img/mx_remaster_type.jpg -------------------------------------------------------------------------------- /docs/archiwum/env/img/porteus322X.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/img/porteus322X.jpg -------------------------------------------------------------------------------- /docs/archiwum/env/img/pygame_windows01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/img/pygame_windows01.jpg -------------------------------------------------------------------------------- /docs/archiwum/env/img/python00.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/img/python00.jpg -------------------------------------------------------------------------------- /docs/archiwum/env/img/python01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/img/python01.jpg -------------------------------------------------------------------------------- /docs/archiwum/env/img/python02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/img/python02.jpg -------------------------------------------------------------------------------- /docs/archiwum/env/img/python03.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/img/python03.jpg -------------------------------------------------------------------------------- /docs/archiwum/env/img/python04.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/img/python04.jpg -------------------------------------------------------------------------------- /docs/archiwum/env/img/rufus02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/img/rufus02.jpg -------------------------------------------------------------------------------- /docs/archiwum/env/img/rufus_mxlinux_live.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/img/rufus_mxlinux_live.png -------------------------------------------------------------------------------- /docs/archiwum/env/img/sru_usb08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/img/sru_usb08.png -------------------------------------------------------------------------------- /docs/archiwum/env/img/sru_usb09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/img/sru_usb09.png -------------------------------------------------------------------------------- /docs/archiwum/env/img/unetbootin_linux_lxpup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/img/unetbootin_linux_lxpup.png -------------------------------------------------------------------------------- /docs/archiwum/env/img/unetbootin_win_free.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/img/unetbootin_win_free.jpg -------------------------------------------------------------------------------- /docs/archiwum/env/img/unetbootin_win_lxpup.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/img/unetbootin_win_lxpup.jpg -------------------------------------------------------------------------------- /docs/archiwum/env/img/universe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/img/universe.png -------------------------------------------------------------------------------- /docs/archiwum/env/img/usbimgtool.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/img/usbimgtool.jpg -------------------------------------------------------------------------------- /docs/archiwum/env/img/win_matplotlib.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/img/win_matplotlib.jpg -------------------------------------------------------------------------------- /docs/archiwum/env/img/winpath01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/img/winpath01.jpg -------------------------------------------------------------------------------- /docs/archiwum/env/img/winpath02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/img/winpath02.jpg -------------------------------------------------------------------------------- /docs/archiwum/env/lxpupimg/internet01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/lxpupimg/internet01.png -------------------------------------------------------------------------------- /docs/archiwum/env/lxpupimg/internet02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/lxpupimg/internet02.png -------------------------------------------------------------------------------- /docs/archiwum/env/lxpupimg/internet03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/lxpupimg/internet03.png -------------------------------------------------------------------------------- /docs/archiwum/env/lxpupimg/internet04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/lxpupimg/internet04.png -------------------------------------------------------------------------------- /docs/archiwum/env/lxpupimg/internet05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/lxpupimg/internet05.png -------------------------------------------------------------------------------- /docs/archiwum/env/lxpupimg/lxpfonts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/lxpupimg/lxpfonts.png -------------------------------------------------------------------------------- /docs/archiwum/env/lxpupimg/lxpsave01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/lxpupimg/lxpsave01.png -------------------------------------------------------------------------------- /docs/archiwum/env/lxpupimg/lxpsave02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/lxpupimg/lxpsave02.png -------------------------------------------------------------------------------- /docs/archiwum/env/lxpupimg/lxpsave03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/lxpupimg/lxpsave03.png -------------------------------------------------------------------------------- /docs/archiwum/env/lxpupimg/lxpsave04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/lxpupimg/lxpsave04.png -------------------------------------------------------------------------------- /docs/archiwum/env/lxpupimg/lxpsave05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/lxpupimg/lxpsave05.png -------------------------------------------------------------------------------- /docs/archiwum/env/lxpupimg/lxpsave06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/lxpupimg/lxpsave06.png -------------------------------------------------------------------------------- /docs/archiwum/env/lxpupimg/lxpsave07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/lxpupimg/lxpsave07.png -------------------------------------------------------------------------------- /docs/archiwum/env/lxpupimg/lxpsave08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/lxpupimg/lxpsave08.png -------------------------------------------------------------------------------- /docs/archiwum/env/lxpupimg/lxpsave09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/lxpupimg/lxpsave09.png -------------------------------------------------------------------------------- /docs/archiwum/env/lxpupimg/lxpsave10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/lxpupimg/lxpsave10.png -------------------------------------------------------------------------------- /docs/archiwum/env/lxpupimg/lxpsave11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/lxpupimg/lxpsave11.png -------------------------------------------------------------------------------- /docs/archiwum/env/lxpupimg/lxpup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/lxpupimg/lxpup.png -------------------------------------------------------------------------------- /docs/archiwum/env/lxpupimg/lxpup1515.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/lxpupimg/lxpup1515.png -------------------------------------------------------------------------------- /docs/archiwum/env/lxpupimg/lxpup_klawiatura01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/lxpupimg/lxpup_klawiatura01.png -------------------------------------------------------------------------------- /docs/archiwum/env/lxpupimg/lxpup_klawiatura02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/lxpupimg/lxpup_klawiatura02.png -------------------------------------------------------------------------------- /docs/archiwum/env/lxpupimg/lxpup_klawiatura03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/lxpupimg/lxpup_klawiatura03.png -------------------------------------------------------------------------------- /docs/archiwum/env/lxpupimg/lxpup_ustawienia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/lxpupimg/lxpup_ustawienia.png -------------------------------------------------------------------------------- /docs/archiwum/env/lxpupimg/lxpuptahr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/lxpupimg/lxpuptahr.png -------------------------------------------------------------------------------- /docs/archiwum/env/lxpupimg/pcmanfm01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/lxpupimg/pcmanfm01.png -------------------------------------------------------------------------------- /docs/archiwum/env/lxpupimg/pet01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/lxpupimg/pet01.png -------------------------------------------------------------------------------- /docs/archiwum/env/lxpupimg/pet_quickpet03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/lxpupimg/pet_quickpet03.png -------------------------------------------------------------------------------- /docs/archiwum/env/lxpupimg/ppm01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/lxpupimg/ppm01.png -------------------------------------------------------------------------------- /docs/archiwum/env/lxpupimg/ppm02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/lxpupimg/ppm02.png -------------------------------------------------------------------------------- /docs/archiwum/env/lxpupimg/ppm03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/lxpupimg/ppm03.png -------------------------------------------------------------------------------- /docs/archiwum/env/lxpupimg/ppm04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/lxpupimg/ppm04.png -------------------------------------------------------------------------------- /docs/archiwum/env/lxpupimg/sfs_click.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/lxpupimg/sfs_click.png -------------------------------------------------------------------------------- /docs/archiwum/env/lxpupimg/sfs_home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/lxpupimg/sfs_home.png -------------------------------------------------------------------------------- /docs/archiwum/env/lxpupimg/sfs_load.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/lxpupimg/sfs_load.png -------------------------------------------------------------------------------- /docs/archiwum/env/lxpupimg/xenialpup701.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/lxpupimg/xenialpup701.jpg -------------------------------------------------------------------------------- /docs/archiwum/env/vboximg/puppy_vb01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/vboximg/puppy_vb01.png -------------------------------------------------------------------------------- /docs/archiwum/env/vboximg/puppy_vb02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/vboximg/puppy_vb02.png -------------------------------------------------------------------------------- /docs/archiwum/env/vboximg/puppy_vb03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/vboximg/puppy_vb03.png -------------------------------------------------------------------------------- /docs/archiwum/env/vboximg/puppy_vb04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/vboximg/puppy_vb04.png -------------------------------------------------------------------------------- /docs/archiwum/env/vboximg/puppy_vb05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/vboximg/puppy_vb05.png -------------------------------------------------------------------------------- /docs/archiwum/env/vboximg/puppy_vb06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/vboximg/puppy_vb06.png -------------------------------------------------------------------------------- /docs/archiwum/env/vboximg/puppy_vb07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/vboximg/puppy_vb07.png -------------------------------------------------------------------------------- /docs/archiwum/env/vboximg/puppy_vb08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/vboximg/puppy_vb08.png -------------------------------------------------------------------------------- /docs/archiwum/env/vboximg/puppy_vb09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/vboximg/puppy_vb09.png -------------------------------------------------------------------------------- /docs/archiwum/env/vboximg/puppy_vb10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/vboximg/puppy_vb10.png -------------------------------------------------------------------------------- /docs/archiwum/env/vboximg/puppy_vb11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/vboximg/puppy_vb11.png -------------------------------------------------------------------------------- /docs/archiwum/env/vboximg/puppy_vb12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/vboximg/puppy_vb12.png -------------------------------------------------------------------------------- /docs/archiwum/env/vboximg/vbox01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/vboximg/vbox01.jpg -------------------------------------------------------------------------------- /docs/archiwum/env/vboximg/vbox02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/vboximg/vbox02.jpg -------------------------------------------------------------------------------- /docs/archiwum/env/vboximg/vbox03.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/vboximg/vbox03.jpg -------------------------------------------------------------------------------- /docs/archiwum/env/vboximg/vbox04.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/vboximg/vbox04.jpg -------------------------------------------------------------------------------- /docs/archiwum/env/vboximg/vbox05.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/vboximg/vbox05.jpg -------------------------------------------------------------------------------- /docs/archiwum/env/vboximg/vbox06.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/vboximg/vbox06.jpg -------------------------------------------------------------------------------- /docs/archiwum/env/vboximg/vbox07.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/env/vboximg/vbox07.jpg -------------------------------------------------------------------------------- /docs/archiwum/faq/index.rst: -------------------------------------------------------------------------------- 1 | FAQ 2 | =============================== 3 | 4 | 5 | 1) Jak utworzyć rozruchowy nośnik USB z dystrybucją Linux? :ref:`»»» ` 6 | 7 | 2) ... 8 | 9 | .. raw:: html 10 | 11 | 15 | -------------------------------------------------------------------------------- /docs/archiwum/git/clone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/git/clone.png -------------------------------------------------------------------------------- /docs/archiwum/git/fork.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/git/fork.png -------------------------------------------------------------------------------- /docs/archiwum/git/git-scm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/git/git-scm.png -------------------------------------------------------------------------------- /docs/archiwum/git/github1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/git/github1.png -------------------------------------------------------------------------------- /docs/archiwum/index.rst: -------------------------------------------------------------------------------- 1 | Materiały archiwalne 2 | #################### 3 | 4 | .. toctree:: 5 | :maxdepth: 2 6 | 7 | env/index 8 | warsztaty/index 9 | faq/index 10 | -------------------------------------------------------------------------------- /docs/archiwum/pdf/chatter_django.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/pdf/chatter_django.pdf -------------------------------------------------------------------------------- /docs/archiwum/pdf/life_str.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/pdf/life_str.pdf -------------------------------------------------------------------------------- /docs/archiwum/pdf/pong_str.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/pdf/pong_str.pdf -------------------------------------------------------------------------------- /docs/archiwum/pdf/quiz_flask.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/pdf/quiz_flask.pdf -------------------------------------------------------------------------------- /docs/archiwum/pdf/tictactoe_str.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/pdf/tictactoe_str.pdf -------------------------------------------------------------------------------- /docs/archiwum/pdf/todo_flask_sqlite.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/pdf/todo_flask_sqlite.pdf -------------------------------------------------------------------------------- /docs/archiwum/warsztaty/index.rst: -------------------------------------------------------------------------------- 1 | Scenariusze 2 | ####################### 3 | 4 | Poniżej zamieszczamy propozycje scenariuszy zajęć wykorzystujących materiały 5 | zgromadzone w repozytorium "Python 101 – materiały Koduj z Klasą". 6 | 7 | .. toctree:: 8 | :maxdepth: 3 9 | 10 | materialy.rst 11 | warsztaty4g.rst 12 | warsztaty8g.rst 13 | warsztaty16g.rst -------------------------------------------------------------------------------- /docs/archiwum/warsztaty/python_cele_materialy_metody.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/warsztaty/python_cele_materialy_metody.odt -------------------------------------------------------------------------------- /docs/archiwum/warsztaty/python_cele_materialy_metody.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/warsztaty/python_cele_materialy_metody.pdf -------------------------------------------------------------------------------- /docs/archiwum/warsztaty/python_warsztaty16.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/warsztaty/python_warsztaty16.odt -------------------------------------------------------------------------------- /docs/archiwum/warsztaty/python_warsztaty16.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/warsztaty/python_warsztaty16.pdf -------------------------------------------------------------------------------- /docs/archiwum/warsztaty/python_warsztaty4.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/warsztaty/python_warsztaty4.odt -------------------------------------------------------------------------------- /docs/archiwum/warsztaty/python_warsztaty4.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/warsztaty/python_warsztaty4.pdf -------------------------------------------------------------------------------- /docs/archiwum/warsztaty/python_warsztaty8.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/warsztaty/python_warsztaty8.odt -------------------------------------------------------------------------------- /docs/archiwum/warsztaty/python_warsztaty8.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/archiwum/warsztaty/python_warsztaty8.pdf -------------------------------------------------------------------------------- /docs/bazy/orm/orm.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/bazy/orm/orm.zip -------------------------------------------------------------------------------- /docs/bazy/orm/sqlite3_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/bazy/orm/sqlite3_2.png -------------------------------------------------------------------------------- /docs/bazy/orm/uczniowie.csv: -------------------------------------------------------------------------------- 1 | Tomasz,Nowak,1 2 | Jan,Kos,1 3 | Piotr,Kowalski,1 4 | Adam,Słodowy,1 5 | Monika,Kowalska,2 6 | Alicja,Osmala,2 7 | -------------------------------------------------------------------------------- /docs/bazy/sql/dane.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | import os 5 | 6 | 7 | def pobierz_dane(plikcsv): 8 | """ 9 | Funkcja zwraca tuplę tupli zawierających dane pobrane z pliku csv 10 | do zapisania w tabeli. 11 | """ 12 | dane = [] # deklarujemy pustą listę 13 | if os.path.isfile(plikcsv): # sprawdzamy czy plik istnieje na dysku 14 | with open(plikcsv, "r") as zawartosc: # otwieramy plik do odczytu 15 | for linia in zawartosc: 16 | linia = linia.replace("\n", "") # usuwamy znaki końca linii 17 | linia = linia.replace("\r", "") # usuwamy znaki końca linii 18 | linia = linia.decode("utf-8") # odczytujemy znaki jako utf-8 19 | # dodajemy elementy do tupli a tuplę do listy 20 | dane.append(tuple(linia.split(","))) 21 | else: 22 | print "Plik z danymi", plikcsv, "nie istnieje!" 23 | 24 | return tuple(dane) # przekształcamy listę na tuplę i zwracamy ją 25 | -------------------------------------------------------------------------------- /docs/bazy/sql/sqlraw.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/bazy/sql/sqlraw.zip -------------------------------------------------------------------------------- /docs/bazy/sql/sqlshell.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python 2 | # -*- coding: UTF-8 -*- 3 | # Minimala powłoka SQLite 4 | # https://docs.python.org/2/library/sqlite3.html 5 | 6 | import sqlite3 7 | 8 | con = sqlite3.connect(":memory:") 9 | con.isolation_level = None 10 | cur = con.cursor() 11 | 12 | buffer = "" 13 | 14 | print "Podaj polecenie SQL do wykonania w sqlite3." 15 | print "Naciśnij Enter, aby wyjść." 16 | 17 | while True: 18 | line = raw_input() 19 | if line == "": 20 | break 21 | buffer += line 22 | if sqlite3.complete_statement(buffer): 23 | try: 24 | buffer = buffer.strip() 25 | cur.execute(buffer) 26 | 27 | if buffer.lstrip().upper().startswith("SELECT"): 28 | print cur.fetchall() 29 | except sqlite3.Error as e: 30 | print "Wystąpił błąd:", e.args[0] 31 | buffer = "" 32 | 33 | con.close() 34 | -------------------------------------------------------------------------------- /docs/bazy/sql/uczniowie.csv: -------------------------------------------------------------------------------- 1 | Tomasz,Nowak,1 2 | Jan,Kos,1 3 | Piotr,Kowalski,1 4 | Adam,Słodowy,1 5 | Monika,Kowalska,2 6 | Alicja,Osmala,2 7 | -------------------------------------------------------------------------------- /docs/bazy/sqlite3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/bazy/sqlite3.png -------------------------------------------------------------------------------- /docs/bazy/sqlorm/sqlorm.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/bazy/sqlorm/sqlorm.zip -------------------------------------------------------------------------------- /docs/env/img/MXLinux2201.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/env/img/MXLinux2201.jpg -------------------------------------------------------------------------------- /docs/env/img/git00.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/env/img/git00.jpg -------------------------------------------------------------------------------- /docs/env/img/git01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/env/img/git01.jpg -------------------------------------------------------------------------------- /docs/env/img/linux_live_usb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/env/img/linux_live_usb.jpg -------------------------------------------------------------------------------- /docs/env/img/mx_narzedzia.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/env/img/mx_narzedzia.jpg -------------------------------------------------------------------------------- /docs/env/img/mx_remaster.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/env/img/mx_remaster.jpg -------------------------------------------------------------------------------- /docs/env/img/mx_remaster_all.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/env/img/mx_remaster_all.jpg -------------------------------------------------------------------------------- /docs/env/img/mx_remaster_home.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/env/img/mx_remaster_home.jpg -------------------------------------------------------------------------------- /docs/env/img/mx_remaster_type.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/env/img/mx_remaster_type.jpg -------------------------------------------------------------------------------- /docs/env/img/pycharm_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/env/img/pycharm_01.png -------------------------------------------------------------------------------- /docs/env/img/pycharm_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/env/img/pycharm_02.png -------------------------------------------------------------------------------- /docs/env/img/pycharm_03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/env/img/pycharm_03.png -------------------------------------------------------------------------------- /docs/env/img/pycharm_04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/env/img/pycharm_04.png -------------------------------------------------------------------------------- /docs/env/img/pygame_windows01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/env/img/pygame_windows01.jpg -------------------------------------------------------------------------------- /docs/env/img/python00.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/env/img/python00.jpg -------------------------------------------------------------------------------- /docs/env/img/python01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/env/img/python01.jpg -------------------------------------------------------------------------------- /docs/env/img/python02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/env/img/python02.jpg -------------------------------------------------------------------------------- /docs/env/img/python03.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/env/img/python03.jpg -------------------------------------------------------------------------------- /docs/env/img/python04.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/env/img/python04.jpg -------------------------------------------------------------------------------- /docs/env/img/python05.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/env/img/python05.jpg -------------------------------------------------------------------------------- /docs/env/img/rufus00.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/env/img/rufus00.jpg -------------------------------------------------------------------------------- /docs/env/img/venv_windows.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/env/img/venv_windows.jpg -------------------------------------------------------------------------------- /docs/env/img/winpath01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/env/img/winpath01.jpg -------------------------------------------------------------------------------- /docs/env/img/winpath02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/env/img/winpath02.jpg -------------------------------------------------------------------------------- /docs/env/index.rst: -------------------------------------------------------------------------------- 1 | System i oprogramowanie 2 | ####################### 3 | 4 | .. toctree:: 5 | :maxdepth: 2 6 | 7 | linux 8 | live 9 | windows 10 | venv 11 | tools 12 | Edytory kodu 13 | -------------------------------------------------------------------------------- /docs/mcpi/algorytmy/img/mcpi-lpi1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/algorytmy/img/mcpi-lpi1.png -------------------------------------------------------------------------------- /docs/mcpi/algorytmy/img/mcpi-lpi2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/algorytmy/img/mcpi-lpi2.png -------------------------------------------------------------------------------- /docs/mcpi/algorytmy/img/mcpi-lpi3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/algorytmy/img/mcpi-lpi3.png -------------------------------------------------------------------------------- /docs/mcpi/algorytmy/img/mcpi-lpi4_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/algorytmy/img/mcpi-lpi4_1.png -------------------------------------------------------------------------------- /docs/mcpi/algorytmy/img/mcpi-lpi4_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/algorytmy/img/mcpi-lpi4_2.png -------------------------------------------------------------------------------- /docs/mcpi/algorytmy/img/mcpi-lpi4_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/algorytmy/img/mcpi-lpi4_3.png -------------------------------------------------------------------------------- /docs/mcpi/algorytmy/img/rbrowna-matplot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/algorytmy/img/rbrowna-matplot.png -------------------------------------------------------------------------------- /docs/mcpi/algorytmy/img/rbrowna0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/algorytmy/img/rbrowna0.png -------------------------------------------------------------------------------- /docs/mcpi/algorytmy/img/rbrowna1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/algorytmy/img/rbrowna1.png -------------------------------------------------------------------------------- /docs/mcpi/algorytmy/img/rbrowna2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/algorytmy/img/rbrowna2.png -------------------------------------------------------------------------------- /docs/mcpi/algorytmy/img/rbrowna3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/algorytmy/img/rbrowna3.png -------------------------------------------------------------------------------- /docs/mcpi/algorytmy/img/rbrowna4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/algorytmy/img/rbrowna4.png -------------------------------------------------------------------------------- /docs/mcpi/algorytmy/mcpi-algorytmy.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/algorytmy/mcpi-algorytmy.zip -------------------------------------------------------------------------------- /docs/mcpi/figury/img/mcsim-KzK.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/figury/img/mcsim-KzK.png -------------------------------------------------------------------------------- /docs/mcpi/figury/img/mcsim-fig.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/figury/img/mcsim-fig.png -------------------------------------------------------------------------------- /docs/mcpi/figury/mcsimfig.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/figury/mcsimfig.zip -------------------------------------------------------------------------------- /docs/mcpi/funkcje/img/fkwadratowa1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/funkcje/img/fkwadratowa1.png -------------------------------------------------------------------------------- /docs/mcpi/funkcje/img/fkwadratowa2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/funkcje/img/fkwadratowa2.png -------------------------------------------------------------------------------- /docs/mcpi/funkcje/img/funkcje.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/funkcje/img/funkcje.png -------------------------------------------------------------------------------- /docs/mcpi/funkcje/img/mcpi-funkcje02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/funkcje/img/mcpi-funkcje02.png -------------------------------------------------------------------------------- /docs/mcpi/funkcje/img/mcpi-funkcje04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/funkcje/img/mcpi-funkcje04.png -------------------------------------------------------------------------------- /docs/mcpi/funkcje/img/trygon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/funkcje/img/trygon.png -------------------------------------------------------------------------------- /docs/mcpi/funkcje/mcpi-funkcje.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/funkcje/mcpi-funkcje.zip -------------------------------------------------------------------------------- /docs/mcpi/glife/img/glife.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/glife/img/glife.png -------------------------------------------------------------------------------- /docs/mcpi/glife/img/ipython01-glife.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/glife/img/ipython01-glife.png -------------------------------------------------------------------------------- /docs/mcpi/glife/img/mcpi-glife01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/glife/img/mcpi-glife01.png -------------------------------------------------------------------------------- /docs/mcpi/glife/img/mcpi-glife03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/glife/img/mcpi-glife03.png -------------------------------------------------------------------------------- /docs/mcpi/glife/img/mcpi-glife04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/glife/img/mcpi-glife04.png -------------------------------------------------------------------------------- /docs/mcpi/glife/img/mcpi-glife05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/glife/img/mcpi-glife05.png -------------------------------------------------------------------------------- /docs/mcpi/glife/img/mcpi-glife06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/glife/img/mcpi-glife06.png -------------------------------------------------------------------------------- /docs/mcpi/glife/mcpi-glife.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/glife/mcpi-glife.zip -------------------------------------------------------------------------------- /docs/mcpi/gloss_mcpi.rst: -------------------------------------------------------------------------------- 1 | Słownik Minecraft Pi 2 | #################### 3 | 4 | .. glossary:: 5 | 6 | API 7 | interfejs programistyczny aplikacji (ang. Application Programming Interface) – 8 | zestaw struktur danych, klas obiektów i metod umożliwiających komunikację 9 | z aplikacją, biblioteką lub systemem. 10 | 11 | -------------------------------------------------------------------------------- /docs/mcpi/mcpi-sim-fix.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/mcpi-sim-fix.zip -------------------------------------------------------------------------------- /docs/mcpi/mcpi-sim.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/mcpi-sim.zip -------------------------------------------------------------------------------- /docs/mcpi/mcpi.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/mcpi.zip -------------------------------------------------------------------------------- /docs/mcpi/mcsim-klasy/README.txt: -------------------------------------------------------------------------------- 1 | Alternatywna wersja skryptów do mcpi-sim oparta na klasie 2 | Symulacja zdefiniowanej w pliku mcsym.py, ładowanej i uruchamianej 3 | przez mc.py 4 | -------------------------------------------------------------------------------- /docs/mcpi/mcsim-klasy/mc.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | print "Uruchamianie... Proszę czekać..." 4 | 5 | # import modułów minecrafta 6 | import local.minecraft as minecraft 7 | import local.block as block 8 | 9 | # ustawienie nazwy użytkownika i komputera 10 | import os 11 | os.environ["USERNAME"] = "Steve" # wpisz dowolną nazwę użytkownika 12 | os.environ["COMPUTERNAME"] = "mykomp" # wpisz dowolną nazwę komputera 13 | 14 | # utworzenie połaczenia z 1) minecraftem lub 2) symulatorem 15 | # Ad 1) w cudzysłowie należy podać adres IP Raspberry Pi 16 | # Ad 2) cudzysłów pusty 17 | mc = minecraft.Minecraft.create("") 18 | 19 | # wysłanie wiadomości na czat 20 | mc.postToChat("Czesc! Tak dziala MC chat!") 21 | 22 | # import klasy budującej świat 23 | if os.path.isfile('mcsym.py'): 24 | from mcsym import Symulacja 25 | mysym = Symulacja(mc, block) 26 | -------------------------------------------------------------------------------- /docs/mcpi/podstawy/img/ipython01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/podstawy/img/ipython01.png -------------------------------------------------------------------------------- /docs/mcpi/podstawy/img/ipython02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/podstawy/img/ipython02.png -------------------------------------------------------------------------------- /docs/mcpi/podstawy/img/ipython03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/podstawy/img/ipython03.png -------------------------------------------------------------------------------- /docs/mcpi/podstawy/img/ipython04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/podstawy/img/ipython04.png -------------------------------------------------------------------------------- /docs/mcpi/podstawy/img/ipython05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/podstawy/img/ipython05.png -------------------------------------------------------------------------------- /docs/mcpi/podstawy/img/mc01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/podstawy/img/mc01.png -------------------------------------------------------------------------------- /docs/mcpi/podstawy/img/mcsim.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/podstawy/img/mcsim.png -------------------------------------------------------------------------------- /docs/mcpi/podstawy/img/minecraft-system.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/podstawy/img/minecraft-system.png -------------------------------------------------------------------------------- /docs/mcpi/podstawy/img/rasplan-ip.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/podstawy/img/rasplan-ip.jpg -------------------------------------------------------------------------------- /docs/mcpi/podstawy/mcpi-podst.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/podstawy/mcpi-podst.zip -------------------------------------------------------------------------------- /docs/mcpi/podstawy/mcpi-podst01.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | import sys 5 | import os 6 | import mcpi.minecraft as minecraft # import modułu minecraft 7 | import mcpi.block as block # import modułu block 8 | 9 | os.environ["USERNAME"] = "Steve" # nazwa użytkownika 10 | os.environ["COMPUTERNAME"] = "mykomp" # nazwa komputera 11 | 12 | # utworzenie połączenia z minecraftem 13 | mc = minecraft.Minecraft.create("192.168.1.10") # podaj adres IP Rpi 14 | 15 | 16 | def main(args): 17 | mc.postToChat("Czesc! Tak dziala MC chat!") # wysłanie komunikatu do mc 18 | return 0 19 | 20 | 21 | if __name__ == '__main__': 22 | sys.exit(main(sys.argv)) 23 | -------------------------------------------------------------------------------- /docs/mcpi/podstawy/mcpimin.py: -------------------------------------------------------------------------------- 1 | # import sys 2 | # sys.path.append("/root/mcpi-sim") # uwaga: sprawdź ścieżkę! 3 | import mcpi.minecraft as minecraft # import modułu minecraft 4 | import mcpi.block as block # import modułu block 5 | import os 6 | os.environ["USERNAME"] = "Steve" # wpisz dowolną nazwę użytkownika 7 | os.environ["COMPUTERNAME"] = "mykomp" # wpisz dowolną nazwę komputera 8 | mc = minecraft.Minecraft.create("192.168.1.8") 9 | -------------------------------------------------------------------------------- /docs/mcpi/rgame/img/mcpi-rg-ip01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/rgame/img/mcpi-rg-ip01.png -------------------------------------------------------------------------------- /docs/mcpi/rgame/img/mcpi-rg-ip02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/rgame/img/mcpi-rg-ip02.png -------------------------------------------------------------------------------- /docs/mcpi/rgame/img/mcpi-rg-ip03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/rgame/img/mcpi-rg-ip03.png -------------------------------------------------------------------------------- /docs/mcpi/rgame/img/mcpi-rg01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/rgame/img/mcpi-rg01.png -------------------------------------------------------------------------------- /docs/mcpi/rgame/img/mcpi-rg02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/rgame/img/mcpi-rg02.png -------------------------------------------------------------------------------- /docs/mcpi/rgame/img/mcpi-rg03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/rgame/img/mcpi-rg03.png -------------------------------------------------------------------------------- /docs/mcpi/rgame/img/mcpi-rg04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/rgame/img/mcpi-rg04.png -------------------------------------------------------------------------------- /docs/mcpi/rgame/img/mcpi-rg05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/rgame/img/mcpi-rg05.png -------------------------------------------------------------------------------- /docs/mcpi/rgame/img/mcpi-rg06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/rgame/img/mcpi-rg06.png -------------------------------------------------------------------------------- /docs/mcpi/rgame/img/mcpi-rg07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/rgame/img/mcpi-rg07.png -------------------------------------------------------------------------------- /docs/mcpi/rgame/img/mcpi-rg08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/rgame/img/mcpi-rg08.png -------------------------------------------------------------------------------- /docs/mcpi/rgame/img/mcpi-rg09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/rgame/img/mcpi-rg09.png -------------------------------------------------------------------------------- /docs/mcpi/rgame/lastgame.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/rgame/lastgame.zip -------------------------------------------------------------------------------- /docs/mcpi/rgame/mcpi-rg.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/rgame/mcpi-rg.zip -------------------------------------------------------------------------------- /docs/mcpi/turtle/img/mcpi-slonko.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/turtle/img/mcpi-slonko.png -------------------------------------------------------------------------------- /docs/mcpi/turtle/img/mcsim-turtKzK.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/turtle/img/mcsim-turtKzK.png -------------------------------------------------------------------------------- /docs/mcpi/turtle/img/mcsim-turtle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/mcpi/turtle/img/mcsim-turtle.png -------------------------------------------------------------------------------- /docs/pdf/pygame192.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pdf/pygame192.pdf -------------------------------------------------------------------------------- /docs/podstawy/dlotek/dlotek.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/podstawy/dlotek/dlotek.zip -------------------------------------------------------------------------------- /docs/podstawy/dlotek/img/toto22_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/podstawy/dlotek/img/toto22_0.png -------------------------------------------------------------------------------- /docs/podstawy/dlotek/img/toto25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/podstawy/dlotek/img/toto25.png -------------------------------------------------------------------------------- /docs/podstawy/dlotek/img/toto26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/podstawy/dlotek/img/toto26.png -------------------------------------------------------------------------------- /docs/podstawy/dlotek/toto21.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | 4 | import random 5 | 6 | ileliczb = int(input("Podaj ilość typowanych liczb: ")) 7 | maksliczba = int(input("Podaj maksymalną losowaną liczbę: ")) 8 | # print("Wytypuj", ileliczb, "z", maksliczba, " liczb: ") 9 | print("Wytypuj %s z %s liczb: " % (ileliczb, maksliczba)) 10 | -------------------------------------------------------------------------------- /docs/podstawy/dlotek/toto22.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | 4 | import random 5 | 6 | ileliczb = int(input("Podaj ilość typowanych liczb: ")) 7 | maksliczba = int(input("Podaj maksymalną losowaną liczbę: ")) 8 | # print("Wytypuj %s z %s liczb: " % (ileliczb, maksliczba)) 9 | 10 | liczby = [] 11 | # for i in range(ileliczb): 12 | i = 0 13 | while i < ileliczb: 14 | liczba = random.randint(1, maksliczba) 15 | if liczby.count(liczba) == 0: 16 | liczby.append(liczba) 17 | i = i + 1 18 | 19 | print("Wylosowane liczby:", liczby) 20 | -------------------------------------------------------------------------------- /docs/podstawy/dlotek/toto22_0.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | 4 | import random 5 | 6 | ileliczb = int(input("Podaj ilość typowanych liczb: ")) 7 | maksliczba = int(input("Podaj maksymalną losowaną liczbę: ")) 8 | # print("Wytypuj", ileliczb, "z", maksliczba, " liczb: ") 9 | 10 | liczby = [] 11 | for i in range(ileliczb): 12 | liczba = random.randint(1, maksliczba) 13 | liczby.append(liczba) 14 | 15 | print("Wylosowane liczby:", liczby) 16 | -------------------------------------------------------------------------------- /docs/podstawy/dlotek/toto23.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | 4 | import random 5 | 6 | ileliczb = int(input("Podaj ilość typowanych liczb: ")) 7 | maksliczba = int(input("Podaj maksymalną losowaną liczbę: ")) 8 | # print("Wytypuj %s z %s liczb: " % (ileliczb, maksliczba)) 9 | 10 | liczby = [] 11 | i = 0 12 | while i < ileliczb: 13 | liczba = random.randint(1, maksliczba) 14 | if liczby.count(liczba) == 0: 15 | liczby.append(liczba) 16 | i = i + 1 17 | 18 | # print("Wylosowane liczby:", liczby) 19 | 20 | print("Wytypuj %s z %s liczb: " % (ileliczb, maksliczba)) 21 | typy = set() 22 | i = 0 23 | while i < ileliczb: 24 | typ = input("Podaj liczbę %s: " % (i + 1)) 25 | if typ not in typy: 26 | typy.add(typ) 27 | i = i + 1 28 | 29 | print("Wytypowane liczby:", typy) 30 | -------------------------------------------------------------------------------- /docs/podstawy/elotek/analiza01.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | from totomodul32 import czytaj, zapisz 5 | import time 6 | 7 | # ustawienia 8 | ileliczb = 5 9 | maksliczba = 20 10 | ilerazy = 20 11 | nazwapliku = "automat.json" 12 | 13 | losowania = czytaj(nazwapliku) 14 | 15 | iletrafien = 0 16 | for i, slownik in enumerate(losowania): 17 | print i, "->", slownik 18 | ileliczb = len(slownik['wylosowane']) 19 | for k, w in slownik.iteritems(): 20 | print k, "->", w 21 | iletrafien = iletrafien + slownik['ile'] 22 | 23 | srednio = float(iletrafien) / float(len(losowania)) 24 | procent = srednio / float(ileliczb) * 100 25 | print "{0:2.2f} -> {1:3.2f}%".format(srednio, procent) 26 | -------------------------------------------------------------------------------- /docs/podstawy/elotek/elotek.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/podstawy/elotek/elotek.zip -------------------------------------------------------------------------------- /docs/podstawy/elotek/toto30.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | 4 | from totomodul import ustawienia, losujliczby, pobierztypy 5 | 6 | 7 | def main(args): 8 | # ustawienia gry 9 | ileliczb, maksliczba, ilerazy = ustawienia() 10 | 11 | # losujemy liczby 12 | liczby = losujliczby(ileliczb, maksliczba) 13 | 14 | # pobieramy typy użytkownika i sprawdzamy, ile liczb trafił 15 | for i in range(ilerazy): 16 | typy = pobierztypy(ileliczb, maksliczba) 17 | trafione = set(liczby) & typy 18 | if trafione: 19 | print("\nIlość trafień: %s" % len(trafione)) 20 | print("Trafione liczby: %s" % trafione) 21 | else: 22 | print("Brak trafień. Spróbuj jeszcze raz!") 23 | 24 | print("\n" + "x" * 40 + "\n") # wydrukuj 40 znaków x 25 | 26 | print("Wylosowane liczby:", liczby) 27 | return 0 28 | 29 | 30 | if __name__ == '__main__': 31 | import sys 32 | sys.exit(main(sys.argv)) 33 | -------------------------------------------------------------------------------- /docs/podstawy/elotek/toto31.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | 4 | from totomodul import ustawienia, losujliczby, pobierztypy, wyniki 5 | 6 | 7 | def main(args): 8 | # ustawienia gry 9 | ileliczb, maksliczba, ilerazy = ustawienia() 10 | 11 | # losujemy liczby 12 | liczby = losujliczby(ileliczb, maksliczba) 13 | 14 | # pobieramy typy użytkownika i sprawdzamy, ile liczb trafił 15 | for i in range(ilerazy): 16 | typy = pobierztypy(ileliczb, maksliczba) 17 | iletraf = wyniki(set(liczby), typy) 18 | 19 | print("Wylosowane liczby:", liczby) 20 | return 0 21 | 22 | 23 | if __name__ == '__main__': 24 | import sys 25 | sys.exit(main(sys.argv)) 26 | -------------------------------------------------------------------------------- /docs/podstawy/elotek/toto32.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | 4 | from totomodul import ustawienia, losujliczby, pobierztypy, wyniki 5 | 6 | 7 | def main(args): 8 | # ustawienia gry 9 | nick, ileliczb, maksliczba, ilerazy = ustawienia() 10 | 11 | # losujemy liczby 12 | liczby = losujliczby(ileliczb, maksliczba) 13 | 14 | # pobieramy typy użytkownika i sprawdzamy, ile liczb trafił 15 | for i in range(ilerazy): 16 | typy = pobierztypy(ileliczb, maksliczba) 17 | iletraf = wyniki(set(liczby), typy) 18 | 19 | print("Wylosowane liczby:", liczby) 20 | return 0 21 | 22 | 23 | if __name__ == '__main__': 24 | import sys 25 | sys.exit(main(sys.argv)) 26 | -------------------------------------------------------------------------------- /docs/podstawy/elotek/tototk.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | import Tkinter as tk 5 | 6 | 7 | class Application(tk.Frame): 8 | 9 | def __init__(self, master=None): 10 | tk.Frame.__init__(self, master) 11 | self.grid() 12 | self.createWidgets() 13 | 14 | def createWidgets(self): 15 | self.quitButton = tk.Button(self, text='Koniec', 16 | command=self.quit) 17 | self.quitButton.grid() 18 | 19 | app = Application() 20 | app.master.title('Toto Lotek') 21 | app.mainloop() 22 | -------------------------------------------------------------------------------- /docs/podstawy/index.rst: -------------------------------------------------------------------------------- 1 | .. _podstawy-python: 2 | 3 | Podstawy Pythona 4 | ################# 5 | 6 | Poznawanie Pythona zrealizujemy poprzez rozwiązywanie prostych zadań, 7 | które pozwolą zaprezentować elastyczność i łatwość tego języka. 8 | Sugerujemy używanie powłoki Pythona do testowania poznawanych funkcji i fragmentów kodu. 9 | 10 | .. toctree:: 11 | :titlesonly: 12 | 13 | mlotek/index 14 | dlotek/index 15 | elotek/index 16 | przyklady/index 17 | pythonizmy 18 | gloss_python 19 | 20 | Materiały 21 | ********* 22 | 23 | #. `Python (dokumentacja)`_ 24 | #. :download:`Python 2 – przewodnik (pl) ` 25 | 26 | .. _Python (dokumentacja): https://www.python.org/ 27 | -------------------------------------------------------------------------------- /docs/podstawy/mlotek/img/toto02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/podstawy/mlotek/img/toto02.png -------------------------------------------------------------------------------- /docs/podstawy/mlotek/img/toto03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/podstawy/mlotek/img/toto03.png -------------------------------------------------------------------------------- /docs/podstawy/mlotek/img/toto04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/podstawy/mlotek/img/toto04.png -------------------------------------------------------------------------------- /docs/podstawy/mlotek/img/toto07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/podstawy/mlotek/img/toto07.png -------------------------------------------------------------------------------- /docs/podstawy/mlotek/mlotek.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/podstawy/mlotek/mlotek.zip -------------------------------------------------------------------------------- /docs/podstawy/mlotek/toto03.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | 4 | import random 5 | 6 | liczba = random.randint(1, 10) 7 | print("Wylosowana liczba:", liczba) 8 | 9 | odp = input("Jaką liczbę od 1 do 10 mam na myśli? ") 10 | -------------------------------------------------------------------------------- /docs/podstawy/mlotek/toto04.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | 4 | import random 5 | 6 | liczba = random.randint(1, 10) 7 | # print("Wylosowana liczba:", liczba) 8 | 9 | odp = input("Jaką liczbę od 1 do 10 mam na myśli? ") 10 | # print("Podałeś liczbę: ", odp) 11 | 12 | if liczba == int(odp): 13 | print("Zgadłeś! Dostajesz długopis!") 14 | else: 15 | print("Nie zgadłeś. Spróbuj jeszcze raz.") 16 | -------------------------------------------------------------------------------- /docs/podstawy/mlotek/toto05.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | 4 | import random 5 | 6 | liczba = random.randint(1, 10) 7 | # print("Wylosowana liczba:", liczba) 8 | 9 | for i in range(3): 10 | odp = input("Jaką liczbę od 1 do 10 mam na myśli? ") 11 | # print("Podałeś liczbę: ", odp) 12 | 13 | if liczba == int(odp): 14 | print("Zgadłeś! Dostajesz długopis!") 15 | break 16 | else: 17 | print("Nie zgadłeś. Spróbuj jeszcze raz.") 18 | print() 19 | -------------------------------------------------------------------------------- /docs/podstawy/mlotek/toto06.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | 4 | import random 5 | 6 | liczba = random.randint(1, 10) 7 | # print("Wylosowana liczba:", liczba) 8 | 9 | for i in range(3): 10 | print("Próba ", i + 1) 11 | odp = input("Jaką liczbę od 1 do 10 mam na myśli? ") 12 | # print("Podałeś liczbę: ", odp) 13 | 14 | if liczba == int(odp): 15 | print("Zgadłeś! Dostajesz długopis!") 16 | break 17 | else: 18 | print("Nie zgadłeś. Spróbuj jeszcze raz.") 19 | print() 20 | -------------------------------------------------------------------------------- /docs/podstawy/mlotek/toto07.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | 4 | import random 5 | 6 | liczba = random.randint(1, 10) 7 | # print("Wylosowana liczba:", liczba) 8 | 9 | for i in range(3): 10 | print("Próba ", i + 1) 11 | odp = input("Jaką liczbę od 1 do 10 mam na myśli? ") 12 | # print("Podałeś liczbę: ", odp) 13 | 14 | if liczba == int(odp): 15 | print("Zgadłeś! Dostajesz długopis!") 16 | break 17 | elif i == 2: 18 | print("Miałem na myśli liczbę: ", liczba) 19 | else: 20 | print("Nie zgadłeś. Spróbuj jeszcze raz.") 21 | print() 22 | -------------------------------------------------------------------------------- /docs/podstawy/podstawy/analiza01.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | from totomodul32 import czytaj, zapisz 5 | import time 6 | 7 | # ustawienia 8 | ileliczb = 5 9 | maksliczba = 20 10 | ilerazy = 20 11 | nazwapliku = "automat.json" 12 | 13 | losowania = czytaj(nazwapliku) 14 | 15 | iletrafien = 0 16 | for i, slownik in enumerate(losowania): 17 | print i, "->", slownik 18 | ileliczb = len(slownik['wylosowane']) 19 | for k, w in slownik.iteritems(): 20 | print k, "->", w 21 | iletrafien = iletrafien + slownik['ile'] 22 | 23 | srednio = float(iletrafien) / float(len(losowania)) 24 | print "{:2.2f} -> {:3.2%}".format(srednio, srednio / float(ileliczb)) 25 | -------------------------------------------------------------------------------- /docs/podstawy/przyklady/00_hello.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | 4 | # deklarujemy i inicjalizujemy zmienne 5 | aktRok = 2014 6 | pythonRok = 1989 7 | # obliczamy wiek Pythona 8 | wiekPythona = aktRok - pythonRok 9 | 10 | # pobieramy dane 11 | imie = input('Jak się nazywasz? ') 12 | wiek = int(input('Ile masz lat? ')) 13 | 14 | # wyświetlamy komunikaty 15 | print("Witaj", imie) 16 | print("Mów mi Python, mam", wiekPythona, "lat.") 17 | 18 | # instrukcja warunkowa 19 | if wiek > wiekPythona: 20 | print('Jesteś starszy ode mnie.') 21 | else: 22 | print('Jesteś młodszy ode mnie.') 23 | -------------------------------------------------------------------------------- /docs/podstawy/przyklady/01_if.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | 4 | op = "t" 5 | while op == "t": 6 | a, b, c = input("Podaj trzy liczby oddzielone spacjami: ").split(" ") 7 | 8 | print("Wprowadzono liczby:", a, b, c) 9 | print("\nNajmniejsza:") 10 | 11 | if a < b: 12 | if a < c: 13 | najmniejsza = a 14 | else: 15 | najmniejsza = c 16 | elif b < c: 17 | najmniejsza = b 18 | else: 19 | najmniejsza = c 20 | 21 | print(najmniejsza) 22 | 23 | op = input("Jeszcze raz (t/n)? ") 24 | 25 | print("Koniec.") 26 | -------------------------------------------------------------------------------- /docs/podstawy/przyklady/02_petle.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | 4 | print("Alfabet w porządku naturalnym:") 5 | x = 0 6 | for i in range(65, 91): 7 | litera = chr(i) 8 | x += 1 9 | tmp = litera + " => " + litera.lower() 10 | if i > 65 and x % 5 == 0: 11 | x = 0 12 | tmp += "\n" 13 | print(tmp, end=" ") 14 | 15 | x = -1 16 | print("\nAlfabet w porządku odwróconym:") 17 | for i in range(122, 96, -1): 18 | litera = chr(i) 19 | x += 1 20 | if x == 5: 21 | x = 0 22 | print("\n", end=" ") 23 | print(litera.upper(), "=>", litera, end=" ") 24 | -------------------------------------------------------------------------------- /docs/podstawy/przyklady/07_szyfr_02.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | 4 | KLUCZ = 3 5 | 6 | 7 | def szyfruj(txt): 8 | zaszyfrowny = "" 9 | for i in range(len(txt)): 10 | if ord(txt[i]) > 122 - KLUCZ: 11 | zaszyfrowny += chr(ord(txt[i]) + KLUCZ - 26) 12 | else: 13 | zaszyfrowny += chr(ord(txt[i]) + KLUCZ) 14 | return zaszyfrowny 15 | 16 | 17 | def main(args): 18 | tekst = input("Podaj ciąg do zaszyfrowania:\n") 19 | print("Ciąg zaszyfrowany:\n", szyfruj(tekst)) 20 | return 0 21 | 22 | 23 | if __name__ == '__main__': 24 | import sys 25 | sys.exit(main(sys.argv)) 26 | -------------------------------------------------------------------------------- /docs/podstawy/przyklady/07_szyfr_02a.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | 4 | KLUCZ = 3 5 | 6 | 7 | def szyfruj(tekst): 8 | zaszyfrowny = "" 9 | for znak in tekst: 10 | if ord(znak) > 122 - KLUCZ: 11 | zaszyfrowny += chr(ord(znak) + KLUCZ - 26) 12 | else: 13 | zaszyfrowny += chr(ord(znak) + KLUCZ) 14 | return zaszyfrowny 15 | 16 | 17 | def main(args): 18 | tekst = input("Podaj ciąg do zaszyfrowania:\n") 19 | print("Ciąg zaszyfrowany:\n", szyfruj(tekst)) 20 | return 0 21 | 22 | 23 | if __name__ == '__main__': 24 | import sys 25 | sys.exit(main(sys.argv)) 26 | -------------------------------------------------------------------------------- /docs/podstawy/przyklady/index.rst: -------------------------------------------------------------------------------- 1 | .. _przyklady: 2 | 3 | Python w przykładach 4 | ##################### 5 | 6 | Poznawanie Pythona zrealizujemy poprzez rozwiązywanie prostych zadań, 7 | które pozwolą zaprezentować elastyczność i łatwość tego języka. 8 | Sugerujemy używanie konsoli Pythona do testowania poznawanych funkcji, 9 | konstrukcji i fragmentów kodu. 10 | 11 | .. toctree:: 12 | :titlesonly: 13 | 14 | przyklad00 15 | przyklad01 16 | przyklad02 17 | przyklad03 18 | przyklad04 19 | przyklad05 20 | przyklad06 21 | przyklad07 -------------------------------------------------------------------------------- /docs/podstawy/python2-przewodnik.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/podstawy/python2-przewodnik.pdf -------------------------------------------------------------------------------- /docs/podstawy/wprowadzenie.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/podstawy/wprowadzenie.odt -------------------------------------------------------------------------------- /docs/podstawy/wprowadzenie.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/podstawy/wprowadzenie.pdf -------------------------------------------------------------------------------- /docs/pygame/life/screen1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pygame/life/screen1.png -------------------------------------------------------------------------------- /docs/pygame/life_str/life.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pygame/life_str/life.png -------------------------------------------------------------------------------- /docs/pygame/life_str/life_str.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pygame/life_str/life_str.zip -------------------------------------------------------------------------------- /docs/pygame/pong/pong_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pygame/pong/pong_0.png -------------------------------------------------------------------------------- /docs/pygame/pong/pong_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pygame/pong/pong_3.png -------------------------------------------------------------------------------- /docs/pygame/pong_str/freesansbold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pygame/pong_str/freesansbold.ttf -------------------------------------------------------------------------------- /docs/pygame/pong_str/pong.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pygame/pong_str/pong.png -------------------------------------------------------------------------------- /docs/pygame/pong_str/pong_str.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pygame/pong_str/pong_str.zip -------------------------------------------------------------------------------- /docs/pygame/pong_str/pong_str01.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python2 2 | # -*- coding: utf-8 -*- 3 | 4 | import pygame 5 | import sys 6 | from pygame.locals import * 7 | 8 | # inicjacja modułu pygame 9 | pygame.init() 10 | 11 | # szerokość i wysokość okna gry 12 | OKNOGRY_SZER = 800 13 | OKNOGRY_WYS = 400 14 | # kolor okna gry, składowe RGB zapisane w tupli 15 | LT_BLUE = (230, 255, 255) 16 | 17 | # powierzchnia do rysowania, czyli inicjacja pola gry 18 | oknogry = pygame.display.set_mode((OKNOGRY_SZER, OKNOGRY_WYS), 0, 32) 19 | # tytuł okna gry 20 | pygame.display.set_caption('Prosty Pong') 21 | 22 | # pętla główna programu 23 | while True: 24 | # obsługa zdarzeń generowanych przez gracza 25 | for event in pygame.event.get(): 26 | # przechwyć zamknięcie okna 27 | if event.type == QUIT: 28 | pygame.quit() 29 | sys.exit() 30 | 31 | # rysowanie obiektów 32 | oknogry.fill(LT_BLUE) # kolor okna gry 33 | 34 | # zaktualizuj okno i wyświetl 35 | pygame.display.update() 36 | 37 | # KONIEC 38 | -------------------------------------------------------------------------------- /docs/pygame/tictactoe/screen1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pygame/tictactoe/screen1.png -------------------------------------------------------------------------------- /docs/pygame/tictactoe_str/tictactoe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pygame/tictactoe_str/tictactoe.png -------------------------------------------------------------------------------- /docs/pygame/tictactoe_str/tictactoe_str.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pygame/tictactoe_str/tictactoe_str.zip -------------------------------------------------------------------------------- /docs/pygame/tictactoe_str/tictactoe_str1.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | 4 | import pygame 5 | import sys 6 | import random 7 | from pygame.locals import * # udostępnienie nazw metod z locals 8 | 9 | # inicjacja modułu pygame 10 | pygame.init() 11 | 12 | # przygotowanie powierzchni do rysowania, czyli inicjacja okna gry 13 | OKNOGRY = pygame.display.set_mode((150, 150), 0, 32) 14 | # tytuł okna gry 15 | pygame.display.set_caption('Kółko i krzyżyk') 16 | 17 | # lista opisująca stan pola gry, 0 - pole puste, 1 - gracz, 2 - komputer 18 | POLE_GRY = [0, 0, 0, 19 | 0, 0, 0, 20 | 0, 0, 0] 21 | 22 | RUCH = 1 # do kogo należy ruch: 1 – gracz, 2 – komputer 23 | WYGRANY = 0 # wynik gry: 0 - nikt, 1 - gracz, 2 - komputer, 3 - remis 24 | WYGRANA = False 25 | -------------------------------------------------------------------------------- /docs/pylab/img/pylab01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pylab/img/pylab01.png -------------------------------------------------------------------------------- /docs/pylab/img/rbrowna.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pylab/img/rbrowna.png -------------------------------------------------------------------------------- /docs/pylab/pylab.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pylab/pylab.zip -------------------------------------------------------------------------------- /docs/pylab/pylab01.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | 4 | import pylab 5 | 6 | a = 1 7 | b = 2 8 | x = range(-10, 11) # lista argumentów x 9 | 10 | y = [] # lista wartości 11 | for i in x: 12 | y.append(a * i + b) 13 | 14 | pylab.plot(x, y) 15 | pylab.title('Wykres f(x) = a*x - b') 16 | pylab.grid(True) 17 | pylab.show() 18 | -------------------------------------------------------------------------------- /docs/pylab/pylab02.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | 4 | import pylab 5 | 6 | a = int(input('Podaj współczynnik a: ')) 7 | b = int(input('Podaj współczynnik b: ')) 8 | x = range(-10, 11) # lista argumentów x 9 | 10 | # wyrażenie listowe wylicza dziedzinę y 11 | y = [a * i + b for i in x] # lista wartości 12 | 13 | pylab.plot(x, y) 14 | pylab.title('Wykres f(x) = a*x - b') 15 | pylab.grid(True) 16 | pylab.show() 17 | -------------------------------------------------------------------------------- /docs/pylab/pylab03.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | 4 | # ZADANIE: wykonaj wykres funkcji f(x), gdzie x = <-10;10> z krokiem 0.5 5 | # f(x) = x/-3 + a dla x <= 0 6 | # f(x) = x*x/3 dla x >= 0 7 | 8 | import pylab 9 | 10 | x = pylab.arange(-10, 10.5, 0.5) # lista argumentów x 11 | a = int(input("Podaj współczynnik a: ")) 12 | y1 = [i / -3 + a for i in x if i <= 0] 13 | 14 | print(x, len(x)) 15 | print(y1, len(y1)) 16 | 17 | pylab.plot(x, y1) 18 | pylab.title('Wykres f(x)') 19 | pylab.grid(True) 20 | pylab.show() 21 | -------------------------------------------------------------------------------- /docs/pylab/pylab04.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | 4 | # ZADANIE: wykonaj wykres funkcji f(x), gdzie x = <-10;10> z krokiem 0.5 5 | # f(x) = x/-3 + a dla x <= 0 6 | # f(x) = x*x/3 dla x >= 0 7 | 8 | import pylab 9 | 10 | x = pylab.arange(-10, 10.5, 0.5) # lista argumentów x 11 | a = int(input("Podaj współczynnik a: ")) 12 | y1 = [i / -3 + a for i in x if i <= 0] 13 | 14 | y2 = [i**2 / 3 for i in x if i >= 0] 15 | 16 | pylab.plot(x[:len(y1)], y1, x, y2) 17 | pylab.title('Wykres f(x)') 18 | pylab.grid(True) 19 | pylab.show() 20 | -------------------------------------------------------------------------------- /docs/pylab/pylab05.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | 4 | # ZADANIE: wykonaj wykres funkcji f(x), gdzie x = <-10;10> z krokiem 0.5 5 | # f(x) = x/-3 + a dla x <= 0 6 | # f(x) = x*x/3 dla x >= 0 7 | 8 | import pylab 9 | 10 | x = pylab.arange(-10, 10.5, 0.5) # lista argumentów x 11 | a = int(input("Podaj współczynnik a: ")) 12 | y1 = [i / -3 + a for i in x if i <= 0] 13 | 14 | y2 = [i**2 / 3 for i in x if i >= 0] 15 | 16 | pylab.plot(x[:len(y1)], y1, x[-len(y2):], y2) 17 | pylab.title('Wykres f(x)') 18 | pylab.grid(True) 19 | pylab.show() 20 | -------------------------------------------------------------------------------- /docs/pylab/pylab06.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | 4 | # ZADANIE: wykonaj wykres funkcji f(x), gdzie x = <-10;10> z krokiem 0.5 5 | # f(x) = x/-3 + a dla x <= 0 6 | # f(x) = x*x/3 dla x >= 0 7 | 8 | import pylab 9 | 10 | x = pylab.arange(-10, 10.5, 0.5) # lista argumentów x 11 | a = int(raw_input("Podaj współczynnik a: ")) 12 | y1 = [i / -3 + a for i in x if i <= 0] 13 | 14 | y2 = [i**2 / 3 for i in x if i >= 0] 15 | 16 | x1 = [i for i in x if i <= 0] 17 | x2 = [i for i in x if i >= 0] 18 | 19 | pylab.plot(x1, y1, x2, y2) 20 | pylab.title('Wykres f(x)') 21 | pylab.grid(True) 22 | pylab.show() 23 | -------------------------------------------------------------------------------- /docs/pylab/rbrowna01.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | 4 | import numpy as np 5 | import random 6 | 7 | n = int(input("Ile ruchów? ")) 8 | x = y = 0 9 | 10 | for i in range(0, n): 11 | # wylosuj kąt i zamień go na radiany 12 | rad = float(random.randint(0, 360)) * np.pi / 180 13 | x = x + np.cos(rad) # wylicz współrzędną x 14 | y = y + np.sin(rad) # wylicz współrzędną y 15 | print(x, y) 16 | 17 | # oblicz wektor końcowego przesunięcia 18 | s = np.sqrt(x**2 + y**2) 19 | print("Wektor przesunięcia:", s) 20 | -------------------------------------------------------------------------------- /docs/pylab/rbrowna02.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | 4 | import numpy as np 5 | import random 6 | 7 | n = int(input("Ile ruchów? ")) 8 | x = y = 0 9 | lx = [0] 10 | ly = [0] 11 | 12 | for i in range(0, n): 13 | # wylosuj kąt i zamień go na radiany 14 | rad = float(random.randint(0, 360)) * np.pi / 180 15 | x = x + np.cos(rad) # wylicz współrzędną x 16 | y = y + np.sin(rad) # wylicz współrzędną y 17 | # print(x, y) 18 | lx.append(x) 19 | ly.append(y) 20 | 21 | print(lx, ly) 22 | 23 | # oblicz wektor końcowego przesunięcia 24 | s = np.fabs(np.sqrt(x**2 + y**2)) 25 | print("Wektor przesunięcia:", s) 26 | -------------------------------------------------------------------------------- /docs/pylab/rbrowna03.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | 4 | import numpy as np 5 | import random 6 | import matplotlib.pyplot as plt 7 | 8 | n = int(input("Ile ruchów? ")) 9 | x = y = 0 10 | lx = [0] 11 | ly = [0] 12 | 13 | for i in range(0, n): 14 | # wylosuj kąt i zamień go na radiany 15 | rad = float(random.randint(0, 360)) * np.pi / 180 16 | x = x + np.cos(rad) # wylicz współrzędną x 17 | y = y + np.sin(rad) # wylicz współrzędną y 18 | # print(x, y) 19 | lx.append(x) 20 | ly.append(y) 21 | 22 | print(lx, ly) 23 | 24 | # oblicz wektor końcowego przesunięcia 25 | s = np.fabs(np.sqrt(x**2 + y**2)) 26 | print("Wektor przesunięcia:", s) 27 | 28 | plt.plot(lx, ly, "o:", color="green", linewidth=2, alpha=0.5) 29 | plt.legend(["Dane x, y\nPrzemieszczenie: " + str(s)], loc="upper left") 30 | plt.xlabel("lx") 31 | plt.ylabel("ly") 32 | plt.title("Ruchy Browna") 33 | plt.grid(True) 34 | plt.show() 35 | -------------------------------------------------------------------------------- /docs/pylab/rbrowna04.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | 4 | import numpy as np 5 | import random 6 | import matplotlib.pyplot as plt 7 | 8 | n = int(input("Ile ruchów? ")) 9 | x = y = 0 10 | lx = [0] 11 | ly = [0] 12 | 13 | for i in range(0, n): 14 | # wylosuj kąt i zamień go na radiany 15 | rad = float(random.randint(0, 360)) * np.pi / 180 16 | x = x + np.cos(rad) # wylicz współrzędną x 17 | y = y + np.sin(rad) # wylicz współrzędną y 18 | # print(x, y) 19 | lx.append(x) 20 | ly.append(y) 21 | 22 | print(lx, ly) 23 | 24 | # oblicz wektor końcowego przesunięcia 25 | s = np.fabs(np.sqrt(x**2 + y**2)) 26 | print("Wektor przesunięcia:", s) 27 | plt.plot((0, lx[-1]), (0, ly[-1]), color="blue") 28 | plt.plot(lx, ly, "o:", color="green", linewidth=2, alpha=0.5) 29 | plt.legend(["Dane x, y\nPrzemieszczenie: " + str(s)], loc="upper left") 30 | plt.xlabel("lx") 31 | plt.ylabel("ly") 32 | plt.title("Ruchy Browna") 33 | plt.grid(True) 34 | plt.show() 35 | -------------------------------------------------------------------------------- /docs/pyqt/kalkulator/img/kalkulator01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pyqt/kalkulator/img/kalkulator01.png -------------------------------------------------------------------------------- /docs/pyqt/kalkulator/img/kalkulator02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pyqt/kalkulator/img/kalkulator02.png -------------------------------------------------------------------------------- /docs/pyqt/kalkulator/img/kalkulator03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pyqt/kalkulator/img/kalkulator03.png -------------------------------------------------------------------------------- /docs/pyqt/kalkulator/img/kalkulator04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pyqt/kalkulator/img/kalkulator04.png -------------------------------------------------------------------------------- /docs/pyqt/kalkulator/img/kalkulator05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pyqt/kalkulator/img/kalkulator05.png -------------------------------------------------------------------------------- /docs/pyqt/kalkulator/img/kalkulator06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pyqt/kalkulator/img/kalkulator06.png -------------------------------------------------------------------------------- /docs/pyqt/kalkulator/kalkulator-qt5-py2.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pyqt/kalkulator/kalkulator-qt5-py2.zip -------------------------------------------------------------------------------- /docs/pyqt/kalkulator/kalkulator-qt5-py3.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pyqt/kalkulator/kalkulator-qt5-py3.zip -------------------------------------------------------------------------------- /docs/pyqt/kalkulator/kalkulator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pyqt/kalkulator/kalkulator.png -------------------------------------------------------------------------------- /docs/pyqt/kalkulator/kalkulator01.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | # -*- coding: utf-8 -*- 3 | 4 | from PyQt5.QtWidgets import QApplication, QWidget 5 | 6 | 7 | class Kalkulator(QWidget): 8 | def __init__(self, parent=None): 9 | super().__init__(parent) 10 | 11 | self.interfejs() 12 | 13 | def interfejs(self): 14 | 15 | self.resize(300, 100) 16 | self.setWindowTitle("Prosty kalkulator") 17 | self.show() 18 | 19 | 20 | if __name__ == '__main__': 21 | import sys 22 | 23 | app = QApplication(sys.argv) 24 | okno = Kalkulator() 25 | sys.exit(app.exec_()) 26 | -------------------------------------------------------------------------------- /docs/pyqt/todopw/gui_z0.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from PyQt5.QtWidgets import QTableView, QPushButton 4 | from PyQt5.QtWidgets import QHBoxLayout, QVBoxLayout 5 | 6 | 7 | class Ui_Widget(object): 8 | 9 | def setupUi(self, Widget): 10 | Widget.setObjectName("Widget") 11 | 12 | # tabelaryczny widok danych 13 | self.widok = QTableView() 14 | 15 | # przyciski Push ### 16 | self.logujBtn = QPushButton("Za&loguj") 17 | self.koniecBtn = QPushButton("&Koniec") 18 | 19 | # układ przycisków Push ### 20 | uklad = QHBoxLayout() 21 | uklad.addWidget(self.logujBtn) 22 | uklad.addWidget(self.koniecBtn) 23 | 24 | # główny układ okna ### 25 | ukladV = QVBoxLayout(self) 26 | ukladV.addWidget(self.widok) 27 | ukladV.addLayout(uklad) 28 | 29 | # właściwości widżetu ### 30 | self.setWindowTitle("Prosta lista zadań") 31 | self.resize(500, 300) 32 | -------------------------------------------------------------------------------- /docs/pyqt/todopw/img/todopw00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pyqt/todopw/img/todopw00.png -------------------------------------------------------------------------------- /docs/pyqt/todopw/img/todopw01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pyqt/todopw/img/todopw01.png -------------------------------------------------------------------------------- /docs/pyqt/todopw/img/todopw01a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pyqt/todopw/img/todopw01a.png -------------------------------------------------------------------------------- /docs/pyqt/todopw/img/todopw03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pyqt/todopw/img/todopw03.png -------------------------------------------------------------------------------- /docs/pyqt/todopw/img/todopw04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pyqt/todopw/img/todopw04.png -------------------------------------------------------------------------------- /docs/pyqt/todopw/img/todopw05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pyqt/todopw/img/todopw05.png -------------------------------------------------------------------------------- /docs/pyqt/todopw/img/todopw06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pyqt/todopw/img/todopw06.png -------------------------------------------------------------------------------- /docs/pyqt/todopw/todopw_qt5.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pyqt/todopw/todopw_qt5.zip -------------------------------------------------------------------------------- /docs/pyqt/widzety/gui_z1.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # -*- coding: utf-8 -*- 3 | 4 | from __future__ import unicode_literals 5 | from ksztalty import Ksztalty, Ksztalt 6 | from PyQt5.QtWidgets import QHBoxLayout 7 | 8 | 9 | class Ui_Widget(object): 10 | """ Klasa definiująca GUI """ 11 | 12 | def setupUi(self, Widget): 13 | 14 | # widget rysujący kształty, instancja klasy Ksztalt 15 | self.ksztalt = Ksztalt(self, Ksztalty.Polygon) 16 | 17 | # układ poziomy, zawiera: self.ksztalt 18 | ukladH1 = QHBoxLayout() 19 | ukladH1.addWidget(self.ksztalt) 20 | 21 | self.setLayout(ukladH1) # przypisanie układu do okna głównego 22 | self.setWindowTitle('Widżety') 23 | -------------------------------------------------------------------------------- /docs/pyqt/widzety/img/widzety.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pyqt/widzety/img/widzety.png -------------------------------------------------------------------------------- /docs/pyqt/widzety/img/widzety00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pyqt/widzety/img/widzety00.png -------------------------------------------------------------------------------- /docs/pyqt/widzety/img/widzety01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pyqt/widzety/img/widzety01.png -------------------------------------------------------------------------------- /docs/pyqt/widzety/img/widzety02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pyqt/widzety/img/widzety02.png -------------------------------------------------------------------------------- /docs/pyqt/widzety/img/widzety03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pyqt/widzety/img/widzety03.png -------------------------------------------------------------------------------- /docs/pyqt/widzety/img/widzety04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pyqt/widzety/img/widzety04.png -------------------------------------------------------------------------------- /docs/pyqt/widzety/img/widzety05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pyqt/widzety/img/widzety05.png -------------------------------------------------------------------------------- /docs/pyqt/widzety/img/widzety06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pyqt/widzety/img/widzety06.png -------------------------------------------------------------------------------- /docs/pyqt/widzety/widzety_qt5.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/pyqt/widzety/widzety_qt5.zip -------------------------------------------------------------------------------- /docs/pyqt/widzety/widzety_z0.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # -*- coding: utf-8 -*- 3 | 4 | from __future__ import unicode_literals 5 | from PyQt5.QtWidgets import QApplication, QWidget 6 | from gui import Ui_Widget 7 | 8 | 9 | class Widgety(QWidget, Ui_Widget): 10 | """ Główna klasa aplikacji """ 11 | 12 | def __init__(self, parent=None): 13 | super(Widgety, self).__init__(parent) 14 | self.setupUi(self) # tworzenie interfejsu 15 | 16 | if __name__ == '__main__': 17 | import sys 18 | 19 | app = QApplication(sys.argv) 20 | okno = Widgety() 21 | okno.show() 22 | 23 | sys.exit(app.exec_()) 24 | -------------------------------------------------------------------------------- /docs/pyqt/widzety/widzety_z1.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # -*- coding: utf-8 -*- 3 | 4 | from __future__ import unicode_literals 5 | from PyQt5.QtWidgets import QApplication, QWidget 6 | from gui_z1 import Ui_Widget 7 | 8 | 9 | class Widgety(QWidget, Ui_Widget): 10 | """ Główna klasa aplikacji """ 11 | 12 | def __init__(self, parent=None): 13 | super(Widgety, self).__init__(parent) 14 | self.setupUi(self) # tworzenie interfejsu 15 | 16 | if __name__ == '__main__': 17 | import sys 18 | 19 | app = QApplication(sys.argv) 20 | okno = Widgety() 21 | okno.show() 22 | 23 | sys.exit(app.exec_()) 24 | -------------------------------------------------------------------------------- /docs/requirements.txt: -------------------------------------------------------------------------------- 1 | Sphinx==7.3.7 2 | sphinx-rtd-theme==2.0.0 3 | # plus binaria texlive texlive-extra-fonts dvipng 4 | -------------------------------------------------------------------------------- /docs/rg/dokumentacja/img/kiting.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/rg/dokumentacja/img/kiting.gif -------------------------------------------------------------------------------- /docs/rg/dokumentacja/img/rules1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/rg/dokumentacja/img/rules1.png -------------------------------------------------------------------------------- /docs/rg/dokumentacja/img/rules2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/rg/dokumentacja/img/rules2.png -------------------------------------------------------------------------------- /docs/rg/dokumentacja/index.rst: -------------------------------------------------------------------------------- 1 | RG – dokumentacja 2 | ################## 3 | 4 | `RobotGame `_ to gra, w której walczą ze sobą programy – boty. 5 | Poniżej nieautoryzowane tłumaczenie oryginalnej dokumentacji oraz materiałów 6 | dodatkowych: 7 | 8 | .. toctree:: 9 | :maxdepth: 1 10 | 11 | rg01rules.rst 12 | rg02start.rst 13 | rg03library.rst 14 | rg04rgkit.rst 15 | rg06basic.rst 16 | rg07intermediate.rst 17 | 18 | .. note:: 19 | 20 | Niniejsza dokumentacja jest nieautoryzowanym tłumaczeniem oficjalnej dokumentacji 21 | dostępnej na stronie *RobotGame* oraz materiałów dodatkowych dostępnych 22 | na stronie `robotgame robots and scripts `_. 23 | -------------------------------------------------------------------------------- /docs/rg/dokumentacja/robot_p.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | import rg 5 | 6 | class Robot: 7 | 8 | def act(self, game): 9 | # jeżeli jesteś w środku, broń się 10 | if self.location == rg.CENTER_POINT: 11 | return ['guard'] 12 | 13 | # jeżeli wokół są przeciwnicy, atakuj 14 | for poz, robot in game.robots.iteritems(): 15 | if robot.player_id != self.player_id: 16 | if rg.dist(poz, self.location) <= 1: 17 | return ['attack', poz] 18 | 19 | # idź do środka planszy 20 | return ['move', rg.toward(self.location, rg.CENTER_POINT)] 21 | -------------------------------------------------------------------------------- /docs/rg/img/RobotGame.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/rg/img/RobotGame.gif -------------------------------------------------------------------------------- /docs/rg/img/plansza01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/rg/img/plansza01.png -------------------------------------------------------------------------------- /docs/rg/img/plansza02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/rg/img/plansza02.png -------------------------------------------------------------------------------- /docs/rg/img/python27_01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/rg/img/python27_01.jpg -------------------------------------------------------------------------------- /docs/rg/img/python27_02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/rg/img/python27_02.jpg -------------------------------------------------------------------------------- /docs/rg/img/rgkit_env.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/rg/img/rgkit_env.png -------------------------------------------------------------------------------- /docs/rg/img/rgkit_windows.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/rg/img/rgkit_windows.jpg -------------------------------------------------------------------------------- /docs/rg/rg.ods: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/rg/rg.ods -------------------------------------------------------------------------------- /docs/rg/rgkod01.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | import rg 5 | 6 | 7 | class Robot: 8 | 9 | def act(self, game): 10 | 11 | # idź do środka planszy, ruch domyślny 12 | return ['move', rg.toward(self.location, rg.CENTER_POINT)] 13 | -------------------------------------------------------------------------------- /docs/rg/rgkod02.py: -------------------------------------------------------------------------------- 1 | # jeżeli jesteś w środku, broń się 2 | if self.location == rg.CENTER_POINT: 3 | return ['guard'] 4 | 5 | # LUB 6 | 7 | # jeżeli jesteś w środku, popełnij samobójstwo 8 | if self.location == rg.CENTER_POINT: 9 | return ['suicide'] 10 | -------------------------------------------------------------------------------- /docs/rg/rgkod03.py: -------------------------------------------------------------------------------- 1 | # jeżeli obok są przeciwnicy, atakuj 2 | # wersja z pętlą przeglądającą wszystkie pola zajęte przez roboty 3 | for poz, robot in game.robots.iteritems(): 4 | if robot.player_id != self.player_id: 5 | if rg.dist(poz, self.location) <= 1: 6 | return ['attack', poz] 7 | -------------------------------------------------------------------------------- /docs/rg/rgkod04a.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | import rg 5 | 6 | 7 | class Robot: 8 | 9 | def act(self, game): 10 | # jeżeli jesteś w środku, broń się 11 | if self.location == rg.CENTER_POINT: 12 | return ['guard'] 13 | 14 | # jeżeli wokół są przeciwnicy, atakuj 15 | for poz, robot in game.robots.iteritems(): 16 | if robot.player_id != self.player_id: 17 | if rg.dist(poz, self.location) <= 1: 18 | return ['attack', poz] 19 | 20 | # idź do środka planszy 21 | return ['move', rg.toward(self.location, rg.CENTER_POINT)] 22 | -------------------------------------------------------------------------------- /docs/rg/rgkod04b.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | import rg 5 | 6 | 7 | class Robot: 8 | 9 | def act(self, game): 10 | # działanie domyślne: 11 | ruch = ['move', rg.toward(self.location, rg.CENTER_POINT)] 12 | 13 | if self.location == rg.CENTER_POINT: 14 | ruch = ['guard'] 15 | 16 | for poz, robot in game.robots.iteritems(): 17 | if robot.player_id != self.player_id: 18 | if rg.dist(poz, self.location) <= 1: 19 | ruch = ['attack', poz] 20 | 21 | return ruch 22 | -------------------------------------------------------------------------------- /docs/webdjango/czat1/admin.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # czatpro/czat/admin.py 3 | 4 | from django.contrib import admin 5 | from czat import models # importujemy nasz model 6 | 7 | # rejestrujemy model Wiadomosc w panelu administracyjnym 8 | admin.site.register(models.Wiadomosc) 9 | -------------------------------------------------------------------------------- /docs/webdjango/czat1/czat1.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webdjango/czat1/czat1.zip -------------------------------------------------------------------------------- /docs/webdjango/czat1/img/django_admin.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webdjango/czat1/img/django_admin.jpg -------------------------------------------------------------------------------- /docs/webdjango/czat1/img/django_admin_uprawnienia.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webdjango/czat1/img/django_admin_uprawnienia.jpg -------------------------------------------------------------------------------- /docs/webdjango/czat1/img/django_admin_wiadomosci1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webdjango/czat1/img/django_admin_wiadomosci1.jpg -------------------------------------------------------------------------------- /docs/webdjango/czat1/img/django_admin_wiadomosci2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webdjango/czat1/img/django_admin_wiadomosci2.jpg -------------------------------------------------------------------------------- /docs/webdjango/czat1/img/django_aplikacja.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webdjango/czat1/img/django_aplikacja.jpg -------------------------------------------------------------------------------- /docs/webdjango/czat1/img/django_final1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webdjango/czat1/img/django_final1.jpg -------------------------------------------------------------------------------- /docs/webdjango/czat1/img/django_final2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webdjango/czat1/img/django_final2.jpg -------------------------------------------------------------------------------- /docs/webdjango/czat1/img/django_index1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webdjango/czat1/img/django_index1.jpg -------------------------------------------------------------------------------- /docs/webdjango/czat1/img/django_index2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webdjango/czat1/img/django_index2.jpg -------------------------------------------------------------------------------- /docs/webdjango/czat1/img/django_it_worked.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webdjango/czat1/img/django_it_worked.jpg -------------------------------------------------------------------------------- /docs/webdjango/czat1/img/django_loguj_form.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webdjango/czat1/img/django_loguj_form.jpg -------------------------------------------------------------------------------- /docs/webdjango/czat1/img/django_migrations.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webdjango/czat1/img/django_migrations.jpg -------------------------------------------------------------------------------- /docs/webdjango/czat1/img/django_projekt.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webdjango/czat1/img/django_projekt.jpg -------------------------------------------------------------------------------- /docs/webdjango/czat1/img/django_wylogowany.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webdjango/czat1/img/django_wylogowany.jpg -------------------------------------------------------------------------------- /docs/webdjango/czat1/img/django_zadzialalo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webdjango/czat1/img/django_zadzialalo.jpg -------------------------------------------------------------------------------- /docs/webdjango/czat1/img/django_zalogowany.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webdjango/czat1/img/django_zalogowany.jpg -------------------------------------------------------------------------------- /docs/webdjango/czat1/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |

Witaj w aplikacji Czat!

6 | 7 | {% if messages %} 8 |
    9 | {% for komunikat in messages %} 10 |
  • {{ komunikat|capfirst }}
  • 11 | {% endfor %} 12 |
13 | {% endif %} 14 | 15 | {% if not user.is_authenticated %} 16 | 19 | {% else %} 20 |

Jesteś zalogowany jako {{ user.username }}

21 | 25 | {% endif %} 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /docs/webdjango/czat1/index_z2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |

Witaj w aplikacji Czat!

6 | 7 | 8 | -------------------------------------------------------------------------------- /docs/webdjango/czat1/loguj.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |

Witaj w aplikacji Czat!

5 | 6 |

Logowanie użytkownika

7 | {% if not user.is_authenticated %} 8 |
9 | {% csrf_token %} 10 | {{ form.as_p }} 11 | 12 |
13 | {% else %} 14 |

Jesteś już zalogowany jako {{ user.username }}

15 | 19 | {% endif %} 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /docs/webdjango/czat1/loguj_z3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |

Witaj w aplikacji Czat!

6 | 7 |

Logowanie użytkownika

8 | {% if not user.is_authenticated %} 9 |
10 | {% csrf_token %} 11 | {{ form.as_p }} 12 | 13 |
14 | {% else %} 15 |

Jesteś już zalogowany jako {{ user.username }}

16 | 19 | {% endif %} 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /docs/webdjango/czat1/models.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # czat/models.py 3 | 4 | from django.db import models 5 | from django.contrib.auth.models import User 6 | 7 | 8 | class Wiadomosc(models.Model): 9 | 10 | """Klasa reprezentująca wiadomość w systemie""" 11 | tekst = models.CharField('treść wiadomości', max_length=250) 12 | data_pub = models.DateTimeField('data publikacji', auto_now_add=True) 13 | autor = models.ForeignKey(User) 14 | 15 | class Meta: # ustawienia dodatkowe 16 | verbose_name = u'wiadomość' # nazwa obiektu w języku polskim 17 | verbose_name_plural = u'wiadomości' # nazwa obiektów w l.m. 18 | ordering = ['data_pub'] # domyślne porządkowanie danych 19 | 20 | def __str__(self): 21 | return self.tekst # "autoprezentacja" 22 | -------------------------------------------------------------------------------- /docs/webdjango/czat1/models_z1.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # czat/models.py 3 | 4 | from django.db import models 5 | from django.contrib.auth.models import User 6 | 7 | 8 | class Wiadomosc(models.Model): 9 | 10 | """Klasa reprezentująca wiadomość w systemie""" 11 | tekst = models.CharField('treść wiadomości', max_length=250) 12 | data_pub = models.DateTimeField('data publikacji', auto_now_add=True) 13 | autor = models.ForeignKey(User) 14 | -------------------------------------------------------------------------------- /docs/webdjango/czat1/urls.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # czat/urls.py 3 | 4 | from django.conf.urls import url 5 | from . import views # import widoków aplikacji 6 | 7 | app_name = 'czat' # przestrzeń nazw aplikacji 8 | urlpatterns = [ 9 | url(r'^$', views.index, name='index'), 10 | url(r'^loguj/$', views.loguj, name='loguj'), 11 | url(r'^wyloguj/$', views.wyloguj, name='wyloguj'), 12 | url(r'^wiadomosci/$', views.wiadomosci, name='wiadomosci'), 13 | ] 14 | -------------------------------------------------------------------------------- /docs/webdjango/czat1/urls_p1.py: -------------------------------------------------------------------------------- 1 | """czat1 URL Configuration 2 | 3 | The `urlpatterns` list routes URLs to views. For more information please see: 4 | https://docs.djangoproject.com/en/1.11/topics/http/urls/ 5 | Examples: 6 | Function views 7 | 1. Add an import: from my_app import views 8 | 2. Add a URL to urlpatterns: url(r'^$', views.home, name='home') 9 | Class-based views 10 | 1. Add an import: from other_app.views import Home 11 | 2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home') 12 | Including another URLconf 13 | 1. Import the include() function: from django.conf.urls import url, include 14 | 2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls')) 15 | """ 16 | from django.conf.urls import url, include 17 | from django.contrib import admin 18 | 19 | 20 | urlpatterns = [ 21 | url(r'^', include('czat.urls')), 22 | url(r'^admin/', admin.site.urls), 23 | ] 24 | -------------------------------------------------------------------------------- /docs/webdjango/czat1/urls_z1.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # czat/urls.py 3 | 4 | from django.conf.urls import url 5 | from . import views # import widoków aplikacji 6 | 7 | app_name = 'czat' # przestrzeń nazw aplikacji 8 | urlpatterns = [ 9 | url(r'^$', views.index, name='index'), 10 | ] 11 | -------------------------------------------------------------------------------- /docs/webdjango/czat1/views_z1.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # czat/views.py 3 | 4 | from django.shortcuts import render 5 | from django.http import HttpResponse 6 | 7 | 8 | def index(request): 9 | """Strona główna aplikacji.""" 10 | return HttpResponse("Witaj w aplikacji Czat!") 11 | -------------------------------------------------------------------------------- /docs/webdjango/czat1/views_z2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # czat/views.py 3 | 4 | from django.shortcuts import render 5 | # from django.http import HttpResponse 6 | 7 | 8 | def index(request): 9 | """Strona główna aplikacji.""" 10 | # return HttpResponse("Witaj w aplikacji Czat!") 11 | return render(request, 'czat/index.html') 12 | -------------------------------------------------------------------------------- /docs/webdjango/czat1/wiadomosci.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |

Witaj w aplikacji Czat!

6 | 7 | {% if messages %} 8 |
    9 | {% for komunikat in messages %} 10 |
  • {{ komunikat|capfirst }}
  • 11 | {% endfor %} 12 |
13 | {% endif %} 14 | 15 |

Dodaj wiadomość

16 |
17 | {% csrf_token %} 18 | 19 | 20 |
21 | 22 |

Lista wiadomości:

23 |
    24 | {% for wiadomosc in wiadomosci %} 25 |
  1. 26 | {{ wiadomosc.autor.username }} ({{ wiadomosc.data_pub }}): 27 |
    {{ wiadomosc.tekst }} 28 |
  2. 29 | {% endfor %} 30 |
31 | 32 |

Strona główna

33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /docs/webdjango/czat1/wiadomosci_z4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |

Witaj w aplikacji Czat!

6 | 7 | {% if messages %} 8 |
    9 | {% for komunikat in messages %} 10 |
  • {{ komunikat|capfirst }}
  • 11 | {% endfor %} 12 |
13 | {% endif %} 14 | 15 |

Dodaj wiadomość

16 |
17 | {% csrf_token %} 18 | 19 | 20 |
21 | 22 |

Lista wiadomości:

23 |
    24 | {% for wiadomosc in wiadomosci %} 25 |
  1. 26 | {{ wiadomosc.autor.username }} ({{ wiadomosc.data_pub }}): 27 |
    {{ wiadomosc.tekst }} 28 |
  2. 29 | {% endfor %} 30 |
31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /docs/webdjango/czat2/admin.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # czatpro/czat/admin.py 3 | 4 | from django.contrib import admin 5 | from czat.models import Wiadomosc # importujemy nasz model 6 | 7 | # rejestrujemy model Wiadomosc w panelu administracyjnym 8 | admin.site.register(Wiadomosc) 9 | -------------------------------------------------------------------------------- /docs/webdjango/czat2/admin_z1.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # czat/czat/admin.py 3 | 4 | from django.contrib import admin 5 | from czat.models import Wiadomosc # importujemy nasz model 6 | 7 | # rejestrujemy model Wiadomosc w panelu administracyjnym 8 | admin.site.register(Wiadomosc) 9 | -------------------------------------------------------------------------------- /docs/webdjango/czat2/czat2.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webdjango/czat2/czat2.zip -------------------------------------------------------------------------------- /docs/webdjango/czat2/czat2_z01.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webdjango/czat2/czat2_z01.zip -------------------------------------------------------------------------------- /docs/webdjango/czat2/forms_z6.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # czat/forms.py 3 | 4 | from django.forms import ModelForm, TextInput 5 | from czat.models import Wiadomosc 6 | 7 | 8 | class EdytujWiadomoscForm(ModelForm): 9 | class Meta: 10 | model = Wiadomosc 11 | fields = ['tekst', 'data_pub'] 12 | exclude = ['autor'] 13 | widgets = {'tekst': TextInput(attrs={'size': 60})} 14 | -------------------------------------------------------------------------------- /docs/webdjango/czat2/img/django_dodawanie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webdjango/czat2/img/django_dodawanie.png -------------------------------------------------------------------------------- /docs/webdjango/czat2/img/django_edycja.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webdjango/czat2/img/django_edycja.png -------------------------------------------------------------------------------- /docs/webdjango/czat2/img/django_edycja_usun.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webdjango/czat2/img/django_edycja_usun.png -------------------------------------------------------------------------------- /docs/webdjango/czat2/img/django_index.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webdjango/czat2/img/django_index.png -------------------------------------------------------------------------------- /docs/webdjango/czat2/img/django_logowanie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webdjango/czat2/img/django_logowanie.png -------------------------------------------------------------------------------- /docs/webdjango/czat2/img/django_rejestracja.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webdjango/czat2/img/django_rejestracja.png -------------------------------------------------------------------------------- /docs/webdjango/czat2/img/django_usun.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webdjango/czat2/img/django_usun.png -------------------------------------------------------------------------------- /docs/webdjango/czat2/img/django_wiadomosci.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webdjango/czat2/img/django_wiadomosci.png -------------------------------------------------------------------------------- /docs/webdjango/czat2/index_z1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |

Witaj w aplikacji Czat!

6 | 7 | 8 | -------------------------------------------------------------------------------- /docs/webdjango/czat2/index_z2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |

Witaj w aplikacji Czat!

6 | 7 | {% if user.is_authenticated %} 8 |

Jesteś zalogowany jako {{ user.username }}.

9 | {% else %} 10 |

Zarejestruj się

11 | {% endif %} 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /docs/webdjango/czat2/index_z3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |

Witaj w aplikacji Czat!

6 | 7 | {% if user.is_authenticated %} 8 |

Jesteś zalogowany jako {{ user.username }}.

9 |

Wyloguj się

10 | {% else %} 11 |

Zaloguj się

12 |

Zarejestruj się

13 | {% endif %} 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /docs/webdjango/czat2/index_z4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |

Witaj w aplikacji Czat!

6 | 7 | {% if user.is_authenticated %} 8 |

Jesteś zalogowany jako {{ user.username }}.

9 |

Wiadomości

10 |

Wyloguj się

11 | {% else %} 12 |

Zaloguj się

13 |

Zarejestruj się

14 | {% endif %} 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /docs/webdjango/czat2/index_z5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |

Witaj w aplikacji Czat!

6 | 7 | {% if user.is_authenticated %} 8 |

Jesteś zalogowany jako {{ user.username }}.

9 |

Dodaj wiadomość

10 |

Wiadomości

11 |

Wyloguj się

12 | {% else %} 13 |

Zaloguj się

14 |

Zarejestruj się

15 | {% endif %} 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /docs/webdjango/czat2/loguj_z3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |

Logowanie użytkownika

5 | {% if user.is_authenticated %} 6 |

Jesteś już zalogowany jako {{ user.username }}. 7 |
Strona główna

8 | {% else %} 9 |
10 | {% csrf_token %} 11 | {{ form.as_p }} 12 | 13 |
14 | {% endif %} 15 | 16 | 17 | -------------------------------------------------------------------------------- /docs/webdjango/czat2/models_z5.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # czat/models.py 3 | 4 | from django.db import models 5 | from django.contrib.auth.models import User 6 | 7 | 8 | class Wiadomosc(models.Model): 9 | 10 | """Klasa reprezentująca wiadomość w systemie""" 11 | tekst = models.CharField('treść wiadomości', max_length=250) 12 | data_pub = models.DateTimeField('data publikacji') 13 | autor = models.ForeignKey(User) 14 | 15 | class Meta: # ustawienia dodatkowe 16 | verbose_name = u'wiadomość' # nazwa obiektu w języku polskim 17 | verbose_name_plural = u'wiadomości' # nazwa obiektów w l.m. 18 | ordering = ['data_pub'] # domyślne porządkowanie danych 19 | 20 | def __str__(self): 21 | return self.tekst # "autoprezentacja" 22 | -------------------------------------------------------------------------------- /docs/webdjango/czat2/rejestruj_z2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |

Rejestracja użytkownika

5 | {% if user.is_authenticated %} 6 |

Jesteś już zarejestrowany jako {{ user.username }}. 7 |
Strona główna

8 | {% else %} 9 |
10 | {% csrf_token %} 11 | {{ form.as_p }} 12 | 13 |
14 | {% endif %} 15 | 16 | 17 | -------------------------------------------------------------------------------- /docs/webdjango/czat2/urls_p1.py: -------------------------------------------------------------------------------- 1 | """czatp URL Configuration 2 | 3 | The `urlpatterns` list routes URLs to views. For more information please see: 4 | https://docs.djangoproject.com/en/1.8/topics/http/urls/ 5 | Examples: 6 | Function views 7 | 1. Add an import: from my_app import views 8 | 2. Add a URL to urlpatterns: url(r'^$', views.home, name='home') 9 | Class-based views 10 | 1. Add an import: from other_app.views import Home 11 | 2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home') 12 | Including another URLconf 13 | 1. Add an import: from blog import urls as blog_urls 14 | 2. Add a URL to urlpatterns: url(r'^blog/', include(blog_urls)) 15 | """ 16 | from django.conf.urls import include, url 17 | from django.contrib import admin 18 | 19 | urlpatterns = [ 20 | url(r'^', include('czat.urls', namespace='czat')), 21 | url(r'^czat/', include('czat.urls', namespace='czat')), 22 | url(r'^admin/', include(admin.site.urls)), 23 | ] 24 | -------------------------------------------------------------------------------- /docs/webdjango/czat2/wiadomosc_form_z5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |

Wiadomości

5 | 6 |

Dodaj wiadomość:

7 |
8 | {% csrf_token %} 9 | {{ form.as_p }} 10 | 11 |
12 | 13 |

Lista wiadomości:

14 |
    15 | {% for wiadomosc in wiadomosci %} 16 |
  1. 17 | {{ wiadomosc.autor.username }} ({{ wiadomosc.data_pub }}): 18 |
    {{ wiadomosc.tekst }} 19 |
  2. 20 | {% endfor %} 21 |
22 | 23 |

Strona główna

24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/webdjango/czat2/wiadomosc_list_z4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |

Wiadomości

5 | 6 |

Lista wiadomości:

7 |
    8 | {% for wiadomosc in wiadomosci %} 9 |
  1. 10 | {{ wiadomosc.autor.username }} ({{ wiadomosc.data_pub }}): 11 |
    {{ wiadomosc.tekst }} 12 |
  2. 13 | {% endfor %} 14 |
15 | 16 | {% if is_paginated %} 17 |

18 | {% if page_obj.has_previous %} 19 | Poprzednie 20 | {% endif %} 21 | Strona {{ page_obj.number }} z {{ page_obj.paginator.num_pages }}. 22 | 23 | {% if page_obj.has_next %} 24 | Następne 25 | {% endif %} 26 |

27 | {% endif %} 28 | 29 |

Strona główna

30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /docs/webdjango/czat2/wiadomosc_usun_z7.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |

Wiadomości

5 | 6 |

Usuń wiadomość

7 |
8 | {% csrf_token %} 9 |

Czy na pewno chcesz usunąć wiadomość:
{{ object }}?

10 | 11 |
12 | 13 |

Strona główna

14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/webdjango/czat3/baza_z02.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | {% block tytul %} System wiadomości Czat {% endblock tytul %} 7 | 8 | 9 |

{% block naglowek %} Witaj w aplikacji Czat! {% endblock %}

10 | 11 | {% block komunikaty %} 12 | {% if messages %} 13 |
    14 | {% for komunikat in messages %} 15 |
  • {{ komunikat|capfirst }}
  • 16 | {% endfor %} 17 |
18 | {% endif %} 19 | {% endblock %} 20 | 21 | {% block tresc %} {% endblock %} 22 | 23 | {% if user.is_authenticated %} 24 | {% block linki1 %} {% endblock %} 25 |

Wyloguj się

26 | {% else %} 27 | {% block linki2 %} {% endblock %} 28 | {% endif %} 29 | 30 | {% block linki3 %} {% endblock %} 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /docs/webdjango/czat3/czat3.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webdjango/czat3/czat3.zip -------------------------------------------------------------------------------- /docs/webdjango/czat3/czat3_z01.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webdjango/czat3/czat3_z01.zip -------------------------------------------------------------------------------- /docs/webdjango/czat3/img.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webdjango/czat3/img.zip -------------------------------------------------------------------------------- /docs/webdjango/czat3/img/django_bootstrap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webdjango/czat3/img/django_bootstrap.png -------------------------------------------------------------------------------- /docs/webdjango/czat3/img/django_jscript.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webdjango/czat3/img/django_jscript.png -------------------------------------------------------------------------------- /docs/webdjango/czat3/img/django_obrazki.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webdjango/czat3/img/django_obrazki.png -------------------------------------------------------------------------------- /docs/webdjango/czat3/img/django_style.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webdjango/czat3/img/django_style.png -------------------------------------------------------------------------------- /docs/webdjango/czat3/index_z02.html: -------------------------------------------------------------------------------- 1 | 2 | {% extends "czat/baza.html" %} 3 | 4 | {% block naglowek %}Witaj w aplikacji Czat!{% endblock %} 5 | 6 | {% block linki1 %} 7 |

Jesteś zalogowany jako {{ user.username }}.

8 |

Dodaj wiadomość

9 |

Lista wiadomości

10 | {% endblock %} 11 | 12 | {% block linki2 %} 13 |

Zaloguj się

14 |

Zarejestruj się

15 | {% endblock %} 16 | -------------------------------------------------------------------------------- /docs/webdjango/czat3/js.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webdjango/czat3/js.zip -------------------------------------------------------------------------------- /docs/webdjango/czat3/rejestruj_z02.html: -------------------------------------------------------------------------------- 1 | 2 | {% extends "czat/baza.html" %} 3 | 4 | {% block naglowek %}Rejestracja użytkownika{% endblock %} 5 | 6 | {% block tresc %} 7 | {% if not user.is_authenticated %} 8 |
9 | {% csrf_token %} 10 | {{ form.as_p }} 11 | 12 |
13 | {% endif %} 14 | {% endblock %} 15 | 16 | {% block linki1 %} 17 |

Jesteś już zarejestrowany jako {{ user.username }}.

18 | {% endblock %} 19 | 20 | {% block linki3 %} 21 |

Strona główna

22 | {% endblock %} 23 | -------------------------------------------------------------------------------- /docs/webdjango/czat3/rejestruj_z03a.html: -------------------------------------------------------------------------------- 1 | 2 | {% extends "czat/baza.html" %} 3 | {% load staticfiles %} 4 | 5 | {% block naglowek %}Rejestracja użytkownika{% endblock %} 6 | 7 | {% block tresc %} 8 | {% if not user.is_authenticated %} 9 |
10 | {% csrf_token %} 11 | {{ form.as_p }} 12 | 13 |
14 | {% endif %} 15 | {% endblock %} 16 | 17 | {% block linki1 %} 18 |

Jesteś już zarejestrowany jako {{ user.username }}.

19 | {% endblock %} 20 | 21 | {% block linki3 %} 22 |

Strona główna

23 | {% endblock %} 24 | 25 | {% block obrazki %} 26 | 27 | 28 | {% endblock %} 29 | -------------------------------------------------------------------------------- /docs/webdjango/czat3/style_z03.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 10px; 3 | font-family: Helvetica, Arial, sans-serif; 4 | font-size: 12pt; 5 | background: lightgreen url('../img/django.png') no-repeat fixed top right; 6 | } 7 | a { text-decoration: none; } 8 | a:hover { text-decoration: underline; } 9 | a:visited { text-decoration: none; } 10 | .clearfix { clear: both; } 11 | h1 { font-size: 1.8em; font-weight: bold; margin-top: 20px; } 12 | h2 { font-size: 1.4em; font-weight: bold; margin-top: 20px; } 13 | p { font-szie: 1em; font-family: Arial, sans-serif; } 14 | .fr { float: right; } 15 | -------------------------------------------------------------------------------- /docs/webflask/quiz/img/quiz1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webflask/quiz/img/quiz1.png -------------------------------------------------------------------------------- /docs/webflask/quiz/img/quiz2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webflask/quiz/img/quiz2.png -------------------------------------------------------------------------------- /docs/webflask/quiz/img/quiz3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webflask/quiz/img/quiz3.png -------------------------------------------------------------------------------- /docs/webflask/quiz/img/quiz4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webflask/quiz/img/quiz4.png -------------------------------------------------------------------------------- /docs/webflask/quiz/img/quiz5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webflask/quiz/img/quiz5.png -------------------------------------------------------------------------------- /docs/webflask/quiz/img/serwer.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webflask/quiz/img/serwer.jpg -------------------------------------------------------------------------------- /docs/webflask/quiz/quiz.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webflask/quiz/quiz.zip -------------------------------------------------------------------------------- /docs/webflask/quiz/quiz1.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # quiz/quiz.py 3 | 4 | from flask import Flask 5 | 6 | app = Flask(__name__) 7 | 8 | if __name__ == '__main__': 9 | app.run(debug=True) 10 | -------------------------------------------------------------------------------- /docs/webflask/quiz/quiz2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # quiz/quiz.py 3 | 4 | from flask import Flask 5 | 6 | app = Flask(__name__) 7 | 8 | 9 | @app.route('/') 10 | def index(): 11 | return 'Cześć, tu Python!' 12 | 13 | 14 | if __name__ == '__main__': 15 | app.run(debug=True) 16 | -------------------------------------------------------------------------------- /docs/webflask/quiz/quiz3.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # quiz/quiz.py 3 | 4 | from flask import Flask 5 | from flask import render_template 6 | 7 | app = Flask(__name__) 8 | 9 | 10 | @app.route('/') 11 | def index(): 12 | # return 'Cześć, tu Python!' 13 | return render_template('index.html') 14 | 15 | 16 | if __name__ == '__main__': 17 | app.run(debug=True) 18 | -------------------------------------------------------------------------------- /docs/webflask/quiz/quiz4.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # quiz/quiz.py 3 | 4 | from flask import Flask 5 | from flask import render_template 6 | 7 | app = Flask(__name__) 8 | 9 | # konfiguracja aplikacji 10 | app.config.update(dict( 11 | SECRET_KEY='bradzosekretnawartosc', 12 | )) 13 | 14 | # lista pytań 15 | DANE = [{ 16 | 'pytanie': 'Stolica Hiszpani, to:', # pytanie 17 | 'odpowiedzi': ['Madryt', 'Warszawa', 'Barcelona'], # możliwe odpowiedzi 18 | 'odpok': 'Madryt'}, # poprawna odpowiedź 19 | { 20 | 'pytanie': 'Objętość sześcianu o boku 6 cm, wynosi:', 21 | 'odpowiedzi': ['36', '216', '18'], 22 | 'odpok': '216'}, 23 | { 24 | 'pytanie': 'Symbol pierwiastka Helu, to:', 25 | 'odpowiedzi': ['Fe', 'H', 'He'], 26 | 'odpok': 'He'}, 27 | ] 28 | 29 | 30 | @app.route('/') 31 | def index(): 32 | # return 'Cześć, tu Python!' 33 | return render_template('index.html', pytania=DANE) 34 | 35 | 36 | if __name__ == '__main__': 37 | app.run(debug=True) 38 | -------------------------------------------------------------------------------- /docs/webflask/quiz/templates/index3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Quiz Python 5 | 6 | 7 |

Quiz Python

8 | 9 | 10 | -------------------------------------------------------------------------------- /docs/webflask/quiz_orm/img/quiz-orm_dodawanie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webflask/quiz_orm/img/quiz-orm_dodawanie.png -------------------------------------------------------------------------------- /docs/webflask/quiz_orm/img/quiz-orm_edycja.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webflask/quiz_orm/img/quiz-orm_edycja.png -------------------------------------------------------------------------------- /docs/webflask/quiz_orm/img/quiz-orm_edycja2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webflask/quiz_orm/img/quiz-orm_edycja2.png -------------------------------------------------------------------------------- /docs/webflask/quiz_orm/img/quiz-orm_glowna.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webflask/quiz_orm/img/quiz-orm_glowna.png -------------------------------------------------------------------------------- /docs/webflask/quiz_orm/img/quiz-orm_lista.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webflask/quiz_orm/img/quiz-orm_lista.png -------------------------------------------------------------------------------- /docs/webflask/quiz_orm/img/quiz-orm_quiz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webflask/quiz_orm/img/quiz-orm_quiz.png -------------------------------------------------------------------------------- /docs/webflask/quiz_orm/img/quiz-orm_skel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webflask/quiz_orm/img/quiz-orm_skel.png -------------------------------------------------------------------------------- /docs/webflask/quiz_orm/img/quiz-orm_usuwanie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webflask/quiz_orm/img/quiz-orm_usuwanie.png -------------------------------------------------------------------------------- /docs/webflask/quiz_orm/img/quiz-orm_usuwanie2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webflask/quiz_orm/img/quiz-orm_usuwanie2.png -------------------------------------------------------------------------------- /docs/webflask/quiz_orm/quiz-orm-peewee.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webflask/quiz_orm/quiz-orm-peewee.zip -------------------------------------------------------------------------------- /docs/webflask/quiz_orm/quiz-orm-skel.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webflask/quiz_orm/quiz-orm-skel.zip -------------------------------------------------------------------------------- /docs/webflask/quiz_orm/quiz-orm-sqlalchemy.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webflask/quiz_orm/quiz-orm-sqlalchemy.zip -------------------------------------------------------------------------------- /docs/webflask/quiz_orm/quiz2_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webflask/quiz_orm/quiz2_1.png -------------------------------------------------------------------------------- /docs/webflask/quiz_orm/quiz2_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webflask/quiz_orm/quiz2_2.png -------------------------------------------------------------------------------- /docs/webflask/quiz_orm/quiz2_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webflask/quiz_orm/quiz2_3.png -------------------------------------------------------------------------------- /docs/webflask/quiz_orm/quiz2_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webflask/quiz_orm/quiz2_4.png -------------------------------------------------------------------------------- /docs/webflask/quiz_orm/quiz2_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webflask/quiz_orm/quiz2_5.png -------------------------------------------------------------------------------- /docs/webflask/quiz_orm/quiz2_pw/app.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # quiz-orm/app.py 3 | 4 | import os 5 | from flask import Flask, g 6 | from peewee import SqliteDatabase 7 | 8 | app = Flask(__name__) 9 | 10 | # konfiguracja aplikacji 11 | app.config.update(dict( 12 | SECRET_KEY='bardzosekretnawartosc', 13 | TYTUL='Quiz ORM Peewee', 14 | DATABASE=os.path.join(app.root_path, 'quiz.db'), 15 | )) 16 | 17 | # tworzymy instancję bazy używanej przez modele 18 | baza = SqliteDatabase(app.config['DATABASE']) 19 | 20 | 21 | @app.before_request 22 | def before_request(): 23 | g.db = baza 24 | g.db.get_conn() 25 | 26 | 27 | @app.after_request 28 | def after_request(response): 29 | g.db.close() 30 | return response 31 | -------------------------------------------------------------------------------- /docs/webflask/quiz_orm/quiz2_pw/forms.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # quiz-orm/forms.py 3 | 4 | from flask_wtf import FlaskForm 5 | from wtforms import StringField, RadioField, HiddenField, FieldList 6 | from wtforms.validators import Required 7 | 8 | blad1 = 'To pole jest wymagane' 9 | blad2 = 'Brak zaznaczonej poprawnej odpowiedzi' 10 | 11 | 12 | class DodajForm(FlaskForm): 13 | pytanie = StringField('Treść pytania:', 14 | validators=[Required(message=blad1)]) 15 | odpowiedzi = FieldList(StringField( 16 | 'Odpowiedź', 17 | validators=[Required(message=blad1)]), 18 | min_entries=3, 19 | max_entries=3) 20 | odpok = RadioField( 21 | 'Poprawna odpowiedź', 22 | validators=[Required(message=blad2)], 23 | choices=[('0', 'o0'), ('1', 'o1'), ('2', 'o2')] 24 | ) 25 | pid = HiddenField("Pytanie id") 26 | -------------------------------------------------------------------------------- /docs/webflask/quiz_orm/quiz2_pw/main.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # quiz-pw/main.py 3 | 4 | import os 5 | from app import app, baza 6 | from models import * 7 | from views import * 8 | from dane import * 9 | 10 | if __name__ == '__main__': 11 | if not os.path.exists(app.config['DATABASE']): 12 | baza.create_tables([Pytanie, Odpowiedz], True) # tworzymy tabele 13 | dodaj_pytania(pobierz_dane('pytania.csv')) 14 | app.run(debug=True) 15 | -------------------------------------------------------------------------------- /docs/webflask/quiz_orm/quiz2_pw/models.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # quiz-orm/models.py 3 | 4 | from peewee import * 5 | from app import baza 6 | 7 | 8 | class BaseModel(Model): 9 | class Meta: 10 | database = baza 11 | 12 | 13 | class Pytanie(BaseModel): 14 | pytanie = CharField(unique=True) 15 | odpok = CharField() 16 | 17 | def __str__(self): 18 | return self.pytanie 19 | 20 | 21 | class Odpowiedz(BaseModel): 22 | pnr = ForeignKeyField( 23 | Pytanie, related_name='odpowiedzi', on_delete='CASCADE') 24 | odpowiedz = CharField() 25 | 26 | def __str__(self): 27 | return self.odpowiedz 28 | -------------------------------------------------------------------------------- /docs/webflask/quiz_orm/quiz2_pw/pytania.csv: -------------------------------------------------------------------------------- 1 | Stolica Hiszpani, to:#Madryt, Warszawa, Barcelona#Madryt 2 | Objętość sześcianu o boku 6 cm, wynosi:#36, 216, 18#216 3 | Symbol pierwiastka Helu, to:#Fe, H, He#He 4 | -------------------------------------------------------------------------------- /docs/webflask/quiz_orm/quiz2_pw/static/style.css: -------------------------------------------------------------------------------- 1 | /* quiz-orm/static/style.css */ 2 | body { 3 | background-color: #E6E6FA; 4 | color: #000; 5 | } 6 | #komunikaty { 7 | width: 80%; 8 | margin: 0.5em 2em; 9 | padding: 1em; 10 | font-family: verdana,sans-serif; 11 | border-radius: 5px; 12 | background-color: #cecece; 13 | } 14 | #tresc { width: 80%; margin: 0.5em 2em 0 2em; } 15 | form { display: inline-block; margin-bottom: 0;} 16 | input[type=text].form-control { width: 300px; } 17 | input:focus { border-color: light-blue; border-radius: 5px; } 18 | span.blad { color: red; } 19 | span.sukces { color: green; } 20 | span.kom { color: blue; } 21 | .cb { clear: both; } 22 | .fb { font-weight: bold; } 23 | -------------------------------------------------------------------------------- /docs/webflask/quiz_orm/quiz2_pw/templates/404.html: -------------------------------------------------------------------------------- 1 | 2 | {% extends "szkielet.html" %} 3 | {% set active_page = "index" %} 4 | {% block tytul %}Błąd: strony nie znaleziono{% endblock%} 5 | {% block h1 %}Quiz ORM – błąd{% endblock%} 6 | {% block tresc %} 7 | 12 |
13 |
14 |
15 |

404 Nie znaleziono

16 |
17 | Przepraszamy, wystąpił błąd, żądanej strony nie znaleziono!
18 |
19 | 23 |
24 |
25 |
26 | {% endblock %} 27 | -------------------------------------------------------------------------------- /docs/webflask/quiz_orm/quiz2_pw/templates/dodaj.html: -------------------------------------------------------------------------------- 1 | 2 | {% extends "szkielet.html" %} 3 | {% set active_page = "dodaj" %} 4 | {% block tytul %}Dodawanie{% endblock%} 5 | {% block h1 %}Quiz ORM – dodawanie pytań{% endblock%} 6 | {% block tresc %} 7 | {% include "pytanie_form.html" %} 8 | {% endblock %} 9 | -------------------------------------------------------------------------------- /docs/webflask/quiz_orm/quiz2_pw/templates/edytuj.html: -------------------------------------------------------------------------------- 1 | 2 | {% extends "szkielet.html" %} 3 | {% set active_page = "edytuj" %} 4 | {% block tytul %}Edycja{% endblock%} 5 | {% block h1 %}Quiz ORM – edycja pytań{% endblock%} 6 | {% block tresc %} 7 | {% include "pytanie_form.html" %} 8 | {% endblock %} 9 | -------------------------------------------------------------------------------- /docs/webflask/quiz_orm/quiz2_pw/templates/index.html: -------------------------------------------------------------------------------- 1 | 2 | {% extends "szkielet.html" %} 3 | {% set active_page = "index" %} 4 | {% block tytul %}Strona główna{% endblock%} 5 | {% block h1 %}Quiz ORM{% endblock%} 6 | {% block tresc %} 7 |

8 | Aplikacja internetowa Quiz wykorzystująca framework 9 | Flask 10 | oraz system ORM Peewee 11 | lub SQLALchemy 12 | do obsługi bazy danych.

13 |

14 | Pokazujemy, jak: 15 |

    16 |
  • utworzyć model bazy i samą bazę
  • 17 |
  • obsługiwać bazę z poziomu aplikacji www
  • 18 |
  • używać szablonów do prezentacji treści
  • 19 |
  • i wiele innych rzeczy...
  • 20 |
21 |

22 | {% endblock %} 23 | -------------------------------------------------------------------------------- /docs/webflask/quiz_orm/quiz2_pw/templates/lista.html: -------------------------------------------------------------------------------- 1 | 2 | {% extends "szkielet.html" %} 3 | {% set active_page = "lista" %} 4 | {% block tytul %}Lista pytań{% endblock%} 5 | {% block h1 %}Quiz ORM – lista pytań{% endblock%} 6 | {% block tresc %} 7 |
    8 | {% for p in pytania %} 9 | 10 |
  1. 11 | 12 | {{ p.pytanie }} 13 | Edytuj 14 | Usuń 15 |
  2. 16 | {% endfor %} 17 |
18 | {% endblock %} 19 | -------------------------------------------------------------------------------- /docs/webflask/quiz_orm/quiz2_pw/templates/lista01.html: -------------------------------------------------------------------------------- 1 | 2 | {% extends "szkielet.html" %} 3 | {% set active_page = "lista" %} 4 | {% block tytul %}Lista pytań{% endblock%} 5 | {% block h1 %}Quiz ORM – lista pytań{% endblock%} 6 | {% block tresc %} 7 |
    8 | 9 | {% for p in pytania %} 10 |
  1. 11 | 12 | {{ p.pytanie }} 13 |
  2. 14 | {% endfor %} 15 |
16 | {% endblock %} 17 | -------------------------------------------------------------------------------- /docs/webflask/quiz_orm/quiz2_pw/templates/pytanie_form.html: -------------------------------------------------------------------------------- 1 |
2 | {{ form.csrf_token }} 3 | 4 | {{ form.pytanie.label }}
5 | {{ form.pytanie(class="form-control") }}
6 |
7 |
8 |
    9 | {% for o in form.odpowiedzi %} 10 |
  1. {{ radio[loop.index0] }} {{ o(class="form-control") }}
  2. 11 | {% endfor %} 12 |
13 | 14 | 15 |
16 | -------------------------------------------------------------------------------- /docs/webflask/quiz_orm/quiz2_pw/templates/pytanie_usun.html: -------------------------------------------------------------------------------- 1 | 2 | {% extends "szkielet.html" %} 3 | {% set active_page = "usun" %} 4 | {% block tytul %}Edycja{% endblock%} 5 | {% block h1 %}Quiz ORM – usuwanie pytania{% endblock%} 6 | {% block tresc %} 7 |
8 | 9 |

Czy na pewno chcesz usunąć pytanie:

10 |

{{ pytanie.pytanie }}

11 | 12 |
13 | {% endblock %} 14 | -------------------------------------------------------------------------------- /docs/webflask/quiz_orm/quiz2_sa/app.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # quiz-orm/app.py 3 | 4 | from flask import Flask 5 | from flask_sqlalchemy import SQLAlchemy 6 | import os 7 | 8 | app = Flask(__name__) 9 | 10 | # konfiguracja aplikacji 11 | app.config.update(dict( 12 | SECRET_KEY='bardzosekretnawartosc', 13 | DATABASE=os.path.join(app.root_path, 'quiz.db'), 14 | SQLALCHEMY_DATABASE_URI='sqlite:///' + 15 | os.path.join(app.root_path, 'quiz.db'), 16 | SQLALCHEMY_TRACK_MODIFICATIONS=False, 17 | TYTUL='Quiz ORM SQLAlchemy' 18 | )) 19 | 20 | # tworzymy instancję bazy używanej przez modele 21 | baza = SQLAlchemy(app) 22 | -------------------------------------------------------------------------------- /docs/webflask/quiz_orm/quiz2_sa/main.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # quiz-orm/main.py 3 | 4 | import os 5 | from app import app, baza 6 | from models import * 7 | from views import * 8 | from dane import * 9 | 10 | if __name__ == '__main__': 11 | if not os.path.exists(app.config['DATABASE']): 12 | baza.create_all() # tworzymy tabele 13 | dodaj_pytania(pobierz_dane('pytania.csv')) 14 | app.run(debug=True) 15 | -------------------------------------------------------------------------------- /docs/webflask/quiz_orm/quiz2_sa/models.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # quiz-orm/models.py 3 | 4 | from app import baza 5 | 6 | 7 | class Pytanie(baza.Model): 8 | id = baza.Column(baza.Integer, primary_key=True) 9 | pytanie = baza.Column(baza.Unicode(255), unique=True) 10 | odpok = baza.Column(baza.Unicode(100)) 11 | odpowiedzi = baza.relationship( 12 | 'Odpowiedz', backref=baza.backref('pytanie'), 13 | cascade="all, delete, delete-orphan") 14 | 15 | def __str__(self): 16 | return self.pytanie 17 | 18 | 19 | class Odpowiedz(baza.Model): 20 | id = baza.Column(baza.Integer, primary_key=True) 21 | pnr = baza.Column(baza.Integer, baza.ForeignKey('pytanie.id')) 22 | odpowiedz = baza.Column(baza.Unicode(100)) 23 | 24 | def __str__(self): 25 | return self.odpowiedz 26 | -------------------------------------------------------------------------------- /docs/webflask/todo/img/sqlite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webflask/todo/img/sqlite.png -------------------------------------------------------------------------------- /docs/webflask/todo/img/todo_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webflask/todo/img/todo_01.png -------------------------------------------------------------------------------- /docs/webflask/todo/img/todo_03_zadania.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webflask/todo/img/todo_03_zadania.png -------------------------------------------------------------------------------- /docs/webflask/todo/img/todo_04_dodawanie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webflask/todo/img/todo_04_dodawanie.png -------------------------------------------------------------------------------- /docs/webflask/todo/img/todo_05_css.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webflask/todo/img/todo_05_css.png -------------------------------------------------------------------------------- /docs/webflask/todo/img/todo_06_zrobione.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webflask/todo/img/todo_06_zrobione.png -------------------------------------------------------------------------------- /docs/webflask/todo/schema.sql: -------------------------------------------------------------------------------- 1 | -- todo/schema.sql 2 | 3 | -- tabela z zadaniami 4 | DROP TABLE IF EXISTS zadania; 5 | CREATE TABLE zadania ( 6 | id integer primary key autoincrement, -- unikalny indentyfikator 7 | zadanie text not null, -- opis zadania do wykonania 8 | zrobione boolean not null, -- informacja czy zadania zostalo juz wykonane 9 | data_pub datetime not null -- data dodania zadania 10 | ); 11 | 12 | -- pierwsze dane 13 | INSERT INTO zadania (id, zadanie, zrobione, data_pub) 14 | VALUES (null, 'Wyrzucić śmieci', 0, datetime(current_timestamp)); 15 | INSERT into zadania (id, zadanie, zrobione, data_pub) 16 | VALUES (null, 'Nakarmić psa', 0, datetime(current_timestamp)); 17 | -------------------------------------------------------------------------------- /docs/webflask/todo/static/style.css: -------------------------------------------------------------------------------- 1 | /* todo/static/style.css */ 2 | 3 | body { margin-top: 20px; background-color: lightgreen; } 4 | h1, p { margin-left: 20px; } 5 | .add-form { margin-left: 20px; } 6 | ol { text-align: left; } 7 | em { font-size: 11px; margin-left: 10px; } 8 | form { display: inline-block; margin-bottom: 0;} 9 | input[name="zadanie"] { width: 300px; } 10 | input[name="zadanie"]:focus { 11 | border-color: blue; 12 | border-radius: 5px; 13 | } 14 | li { margin-bottom: 5px; } 15 | button { 16 | padding: 3px 5px; 17 | cursor: pointer; 18 | color: blue; 19 | font-size: 12px/1.5em; 20 | background: white; 21 | border: 1px solid grey; 22 | } 23 | .error { color: red; } 24 | .success { color: green; } 25 | .done { text-decoration: line-through; } -------------------------------------------------------------------------------- /docs/webflask/todo/templates/zadania_lista_z3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {{ config.SITE_NAME }} 6 | 7 | 8 |

{{ config.SITE_NAME }}:

9 | 10 |
    11 | 12 | {% for zadanie in zadania %} 13 |
  1. {{ zadanie.zadanie }} – {{ zadanie.data_pub }}
  2. 14 | {% endfor %} 15 |
16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /docs/webflask/todo/todo.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/docs/webflask/todo/todo.zip -------------------------------------------------------------------------------- /docs/webflask/todo/todo_z1.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # todo/todo.py 3 | 4 | from flask import Flask 5 | from flask import render_template 6 | 7 | app = Flask(__name__) 8 | 9 | 10 | @app.route('/') 11 | def index(): 12 | # return 'Cześć, tu Python!' 13 | return render_template('index.html') 14 | 15 | 16 | if __name__ == '__main__': 17 | app.run(debug=True) 18 | -------------------------------------------------------------------------------- /games_str/pong_str/freesansbold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/games_str/pong_str/freesansbold.ttf -------------------------------------------------------------------------------- /games_str/pong_str/pong_str01.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python2 2 | # -*- coding: utf-8 -*- 3 | 4 | import pygame 5 | import sys 6 | from pygame.locals import * 7 | 8 | # inicjacja modułu pygame 9 | pygame.init() 10 | 11 | # szerokość i wysokość okna gry 12 | OKNOGRY_SZER = 800 13 | OKNOGRY_WYS = 400 14 | # kolor okna gry, składowe RGB zapisane w tupli 15 | LT_BLUE = (230, 255, 255) 16 | 17 | # powierzchnia do rysowania, czyli inicjacja pola gry 18 | oknogry = pygame.display.set_mode((OKNOGRY_SZER, OKNOGRY_WYS), 0, 32) 19 | # tytuł okna gry 20 | pygame.display.set_caption('Prosty Pong') 21 | 22 | # pętla główna programu 23 | while True: 24 | # obsługa zdarzeń generowanych przez gracza 25 | for event in pygame.event.get(): 26 | # przechwyć zamknięcie okna 27 | if event.type == QUIT: 28 | pygame.quit() 29 | sys.exit() 30 | 31 | # rysowanie obiektów 32 | oknogry.fill(LT_BLUE) # kolor okna gry 33 | 34 | # zaktualizuj okno i wyświetl 35 | pygame.display.update() 36 | 37 | # KONIEC 38 | -------------------------------------------------------------------------------- /games_str/tictactoe_str/freesansbold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/games_str/tictactoe_str/freesansbold.ttf -------------------------------------------------------------------------------- /games_str/tictactoe_str/tictactoe_str1.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | import pygame, sys, random 5 | from pygame.locals import * #udostępnienie nazw metod z locals 6 | 7 | # inicjacja modułu pygame 8 | pygame.init() 9 | 10 | # przygotowanie powierzchni do rysowania, czyli inicjacja okna gry 11 | OKNOGRY = pygame.display.set_mode((150, 150), 0, 32) 12 | # tytuł okna gry 13 | pygame.display.set_caption('Kółko i krzyżyk') 14 | 15 | # lista opisująca stan pola gry, 0 - pole puste, 1 - gracz, 2 - komputer 16 | POLE_GRY = [0,0,0, 17 | 0,0,0, 18 | 0,0,0] 19 | 20 | RUCH = 1 # do kogo należy ruch: 1 – gracz, 2 – komputer 21 | WYGRANY = 0 # wynik gry: 0 - nikt, 1 - gracz, 2 - komputer, 3 - remis 22 | WYGRANA = False 23 | -------------------------------------------------------------------------------- /quiz/readme.rst: -------------------------------------------------------------------------------- 1 | Quiz – Aplikacja internetowa 2 | ============================ 3 | 4 | Realizacja aplikacji internetowej Quiz w oparciu o mikro-framework Flask. 5 | 6 | Opis tego przykładu znajduje się w dokumentacji szkolenia: 7 | 8 | http://python101.readthedocs.org/pl/latest/quiz/index.html 9 | -------------------------------------------------------------------------------- /quiz2/quiz2_pw/app.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # quiz_pw/app.py 3 | 4 | from flask import Flask, g 5 | from peewee import * 6 | 7 | app = Flask(__name__) 8 | 9 | # konfiguracja aplikacji, m.in. klucz do obsługi sesji HTTP wymaganej 10 | # przez funkcję flash 11 | app.config.update(dict( 12 | SECRET_KEY='bardzosekretnawartosc', 13 | TYTUL='Quiz 2 Peewee' 14 | )) 15 | 16 | # tworzymy instancję bazy używanej przez modele 17 | baza = SqliteDatabase('quiz.db') 18 | 19 | 20 | @app.before_request 21 | def before_request(): 22 | g.db = baza 23 | g.db.connect() 24 | 25 | 26 | @app.after_request 27 | def after_request(response): 28 | g.db.close() 29 | return response 30 | -------------------------------------------------------------------------------- /quiz2/quiz2_pw/main.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # quiz_pw/main.py 3 | 4 | from app import app, baza 5 | from models import * 6 | from views import * 7 | from dane import * 8 | import os 9 | 10 | if __name__ == '__main__': 11 | if not os.path.exists('quiz.db'): 12 | baza.create_tables([Pytanie, Odpowiedz], True) # tworzymy tabele 13 | dodaj_pytania(pobierz_dane('pytania.csv')) 14 | app.run(debug=True) 15 | -------------------------------------------------------------------------------- /quiz2/quiz2_pw/models.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # quiz_pw/models.py 3 | 4 | from app import baza 5 | from peewee import * 6 | 7 | 8 | class BaseModel(Model): 9 | 10 | class Meta: 11 | database = baza 12 | 13 | 14 | class Pytanie(BaseModel): 15 | pytanie = CharField(unique=True) 16 | odpok = CharField() 17 | 18 | 19 | class Odpowiedz(BaseModel): 20 | pnr = ForeignKeyField( 21 | Pytanie, related_name='odpowiedzi', on_delete='CASCADE') 22 | odpowiedz = CharField() 23 | -------------------------------------------------------------------------------- /quiz2/quiz2_pw/pytania.csv: -------------------------------------------------------------------------------- 1 | Stolica Hiszpani, to:#Madryt, Warszawa, Barcelona#Madryt 2 | Objętość sześcianu o boku 6 cm, wynosi:#36, 216, 18#216 3 | Symbol pierwiastka Helu, to:#Fe, H, He#He 4 | -------------------------------------------------------------------------------- /quiz2/quiz2_pw/templates/index.html: -------------------------------------------------------------------------------- 1 | 2 | {% extends "szkielet.html" %} 3 | {% block tytul %}Strona główna{% endblock%} 4 | {% block h1 %}Quiz 2 – Peewee{% endblock%} 5 | {% block tresc %} 6 |

7 | Przykład aplikacji internetowej wykorzystującej framework Flask 8 | do tworzenia m.in. serwisów WWW oraz system 9 | ORM Peewee do obsługi 10 | bazy danych. 11 |

12 |

13 | Pokazujemy, jak: 14 |

    15 |
  • utworzyć model bazy i samą bazę
  • 16 |
  • obsługiwać bazę z poziomu aplikacji www
  • 17 |
  • używać szablonów do prezentacji treści
  • 18 |
  • i wiele innych rzeczy...
  • 19 |
20 |

21 | {% endblock %} 22 | -------------------------------------------------------------------------------- /quiz2/quiz2_sa/app.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # quiz_sa/app.py 3 | 4 | from flask import Flask 5 | from flask_sqlalchemy import SQLAlchemy 6 | 7 | app = Flask(__name__) 8 | 9 | # konfiguracja aplikacji, m.in. klucz do obsługi sesji HTTP wymaganej 10 | # przez funkcję flash 11 | app.config.update(dict( 12 | SECRET_KEY='bardzosekretnawartosc', 13 | SQLALCHEMY_DATABASE_URI='sqlite:///quiz.db', 14 | SQLALCHEMY_TRACK_MODIFICATIONS=False, 15 | TYTUL='Quiz 2 SQLAlchemy' 16 | )) 17 | 18 | # tworzymy instancję bazy używanej przez modele 19 | baza = SQLAlchemy(app) 20 | -------------------------------------------------------------------------------- /quiz2/quiz2_sa/main.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # quiz_sa/main.py 3 | 4 | from app import app, baza 5 | from models import * 6 | from views import * 7 | from dane import * 8 | import os 9 | 10 | if __name__ == '__main__': 11 | if not os.path.exists('quiz.db'): 12 | baza.create_all() # tworzymy tabele 13 | dodaj_pytania(pobierz_dane('pytania.csv')) 14 | app.run(debug=True) 15 | -------------------------------------------------------------------------------- /quiz2/quiz2_sa/models.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # quiz_sa/models.py 3 | 4 | from app import baza 5 | 6 | 7 | class Pytanie(baza.Model): 8 | id = baza.Column(baza.Integer, primary_key=True) 9 | pytanie = baza.Column(baza.String(255), unique=True) 10 | odpok = baza.Column(baza.String(100)) 11 | odpowiedzi = baza.relationship( 12 | 'Odpowiedz', backref=baza.backref('pytanie'), 13 | cascade="all, delete, delete-orphan") 14 | 15 | 16 | class Odpowiedz(baza.Model): 17 | id = baza.Column(baza.Integer, primary_key=True) 18 | pnr = baza.Column(baza.Integer, baza.ForeignKey('pytanie.id')) 19 | odpowiedz = baza.Column(baza.String(100)) 20 | -------------------------------------------------------------------------------- /quiz2/quiz2_sa/pytania.csv: -------------------------------------------------------------------------------- 1 | Stolica Hiszpani, to:#Madryt, Warszawa, Barcelona#Madryt 2 | Objętość sześcianu o boku 6 cm, wynosi:#36, 216, 18#216 3 | Symbol pierwiastka Helu, to:#Fe, H, He#He 4 | -------------------------------------------------------------------------------- /quiz2/quiz2_sa/templates/index.html: -------------------------------------------------------------------------------- 1 | 2 | {% extends "szkielet.html" %} 3 | {% block tytul %}Strona główna{% endblock%} 4 | {% block h1 %}Quiz 2 – SQLAlchemy{% endblock%} 5 | {% block tresc %} 6 |

7 | Przykład aplikacji internetowej wykorzystującej framework Flask 8 | do tworzenia m.in. serwisów WWW
9 | oraz system ORM SQLAlchemy do obsługi 10 | bazy danych. 11 |

12 |

13 | Pokazujemy, jak: 14 |

    15 |
  • utworzyć model bazy i samą bazę
  • 16 |
  • obsługiwać bazę z poziomu aplikacji www
  • 17 |
  • używać szablonów do prezentacji treści
  • 18 |
  • i wiele innych rzeczy...
  • 19 |
20 |

21 | {% endblock %} 22 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | Sphinx==1.5.3 2 | # pip install sphinx sphinx_rtd_theme 3 | # pip ma problem z instalacja pod windows, trzeba znalezc obejscie 4 | # pygame 5 | turtle 6 | Flask 7 | Flask-wtf 8 | Flask-SQLAlchemy 9 | SQLAlchemy 10 | django 11 | # Instalacja matplotlib z requirements nie dziala 12 | # matplotlib 13 | peewee 14 | -------------------------------------------------------------------------------- /todo/db.sqlite: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koduj-z-klasa/python101/4414a608697a52b458f80e9a92650c47f45fdd12/todo/db.sqlite -------------------------------------------------------------------------------- /todo/schema.sql: -------------------------------------------------------------------------------- 1 | -- todo/schema.sql 2 | 3 | -- tabela z zadaniami 4 | drop table if exists zadania; 5 | create table zadania ( 6 | id integer primary key autoincrement, -- unikalny indentyfikator 7 | zadanie text not null, -- opis zadania do wykonania 8 | zrobione boolean not null, -- informacja czy zadania zostalo juz wykonane 9 | data_pub datetime not null -- data dodania zadania 10 | ); 11 | 12 | -- pierwsze dane 13 | insert into zadania (id, zadanie, zrobione, data_pub) 14 | values (null, 'Wyrzucić śmieci', 0, datetime(current_timestamp)); 15 | insert into zadania (id, zadanie, zrobione, data_pub) 16 | values (null, 'Nakarmić psa', 0, datetime(current_timestamp)); 17 | -------------------------------------------------------------------------------- /todo/static/style.css: -------------------------------------------------------------------------------- 1 | /* todo/static/style.css */ 2 | 3 | body { margin-top: 20px; background-color: lightgreen; } 4 | h1, p { margin-left: 20px; } 5 | .add-form { margin-left: 20px; } 6 | ol { text-align: left; } 7 | em { font-size: 11px; margin-left: 10px; } 8 | form { display: inline-block; margin-bottom: 0;} 9 | input[name="zadanie"] { width: 300px; } 10 | input[name="zadanie"]:focus { 11 | border-color: blue; 12 | border-radius: 5px; 13 | } 14 | li { margin-bottom: 5px; } 15 | button { 16 | padding: 0; 17 | cursor: pointer; 18 | font-size: 11px; 19 | background: white; 20 | border: none; 21 | color: blue; 22 | } 23 | .error { color: red; } 24 | .success { color: green; } 25 | .done { text-decoration: line-through; } 26 | -------------------------------------------------------------------------------- /totolotek/toto.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | import random 5 | 6 | liczba = random.randint(1, 10) 7 | # print "Wylosowana liczba:", liczba 8 | 9 | for i in range(3): 10 | print("Próba ", i + 1) 11 | odp = input("Jaką liczbę od 1 do 10 mam na myśli? ") 12 | # print "Podałeś liczbę: ", odp 13 | 14 | if liczba == int(odp): 15 | print("Zgadłeś! Dostajesz długopis!") 16 | break 17 | else: 18 | if i == 2: 19 | print("Miałem na myśli liczbę: ", liczba) 20 | else: 21 | print("Nie zgadłeś. Spróbuj jeszcze raz.") 22 | print 23 | -------------------------------------------------------------------------------- /totolotek/toto02.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | from totomodul import ustawienia, losujliczby, pobierztypy, wyniki 5 | from totomodul import czytaj_json, zapisz_json 6 | import time 7 | 8 | # program główny 9 | 10 | # ustalamy trudność gry 11 | nick, ileliczb, maksliczba, ilerazy = ustawienia() 12 | 13 | nazwapliku = nick + ".json" 14 | losowania = czytaj_json(nazwapliku) 15 | 16 | # losujemy liczby 17 | liczby = losujliczby(ileliczb, maksliczba) 18 | 19 | # pobieramy typy użytkownika i sprawdzamy, ile liczb trafił 20 | for i in range(ilerazy): 21 | typy = pobierztypy(ileliczb, maksliczba) 22 | trafione = wyniki(set(liczby), typy) 23 | 24 | losowania.append({ 25 | "czas": time.time(), 26 | "dane": (ileliczb, maksliczba), 27 | "wylosowane": liczby, 28 | "ile": trafione 29 | }) 30 | 31 | zapisz_json(nazwapliku, losowania) 32 | 33 | print "Wylosowane liczby:", liczby 34 | print "\n", losowania 35 | --------------------------------------------------------------------------------