Python u online okruženju:
Code Wars
Jupyter Notebook


I. Vezjak
OŠ August Šenoa, Osijek
28.02.2018.
Python u online okruženju:
Code Wars
Jupyter Notebook
Code Wars
Jezici: Python, C#, C/C++, Java, JS, SQL, PHP, Swift itd.
Poveznica: www.codewars.com
Codewars is a community of developers, which are called Code Warriors (or just warriors), that train on improving their development skills.

Code Wars
- za svaki riješeni zadatak - prikaz rješenja drugih natjecatenja - mnoštvo primjera i različitih pristupa!
- pretraživanje zadataka prema kategorijama, težini itd.
- forum
- test primjeri

Code Wars
Kata - code challenges focused on improving skill and technique
Kyu - određuje težinu kate
1kyu, 2kyu - Proficient
3kyu, 4kyu - Competent
5kyu, 6kyu - Novice
7kyu, 8kyu - Beginner

Osnovna škola
Code Wars

Broj zadataka (15.2.2018.)
8kyu - 270
7kyu - 987
6kyu - 901
5kyu - 313
4kyu - 111
3kyu - 35
2kyu - 25
1kyu- 11
Code Wars
Kyu 8: Primjer zadatka
Program koji godinu pretvara u stoljeće.

g=int(input())
print ((g+99)//100)
Code Wars
Kyu 7: Primjer zadatka
ATM uređaj dopušta unos PIN-a od isključivo 4 ili 6 znamenki. Napiši program koji će za upisani PIN vratiti true ili false, ovisno o tome je li PIN ispravno upisan.

def validate_pin(pin):
if pin.isdigit() and (len(pin)==4 or len(pin)==6):
return True
else:
return FalseCode Wars
Kyu 6: Primjer zadatka
Simulacija Facebook like sustava.

def likes(names):
if len(names) == 0:
return "no one likes this"
elif len(names) == 1:
return names[0] + " likes this"
elif len(names) == 2:
return names[0] + " and " + names[1] + " like this"
elif len(names) == 3:
return names[0] + ", " + names[1] + " and " + names[2] + " like this"
else:
return names[0] + ", " + names[1] + " and " + str(len(names)-2) + " others like this"
Code Wars
Kyu 5: Primjer zadatka
Vrijeme učitano u sekundama ispisuje se u formatu HH:MM:SS

s=int(input())
print ('{:02}:{:02}:{:02}'.format(s // 3600, s // 60 % 60, s % 60))
Code Wars
Kyu 4: Primjer zadatka
Funkcija za pretvaranje arapskih brojeva u rimske.

abc = list(zip(('I','IV','V','IX','X','XL','L','XC','C','CD','D','CM','M'),
(1,4,5,9,10,40,50,90,100,400,500,900,1000)))
def solution(num):
res = ''
for i in abc[::-1]:
if i[1] <= num:
while num - i[1] >= 0:
num = num - i[1]
res = res + i[0]
return res
Python u online okruženju:
Code Wars
Jupyter Notebook
Jupyter Notebook
- interaktivna web aplikacija u obliku 'bilježnice'
- podržava kod i Rich text elemente (formule-LaTex, tekst, html, video, slike...)
- preko 40 programskih jezika, također i Python
- može se dijeliti putem maila, dropboxa, githuba...
- online i offline
- dokumenti se mogu spremiti kao pdf, html...
Poveznica: http://jupyter.org

Jupyter Notebook

Dva osnovna dijela aplikacije:
KERNEL
DASHBOARD
- IPython
- izvršava kod
- prikaz dokumenta
- uređivanje dokumenta
- upravljanje kernelom
Jupyter Notebook
Offline
- Instalacija (dva načina)

- Anaconda (preuzeti softver i instalirati pomoću njega)
- Naredbeni redak (Cmd)
Jupyter Notebook
Instalacija putem naredbenog retka (cmd) - Pip

#pip se automatski instalira prilikom instalacije Pyhtona
#potrebno ga je azurirati
#Windows
python -m pip install -U pip setuptools
# OS X ili Linux
pip install -U pip setuptools
#nakon ažuriranja dovoljno je pokrenuti naredbu za instalaciju
# Python2
pip install jupyter
# Python 3
pip3 install jupyter
#pokretanje programa
jupyter notebookJupyter Notebook
Online
- privremeni notebook serveri (Docker)
- problem: često svi serveri zauzeti
2. https://notebooks.azure.com/
- pristup Jupyter notebook-u preko oblaka na Microsoft Azure platformi

Microsoft Azure Notebook
- Jednostavna prijava i jednostavno sučelje
- Javni i privatni dokumenti
- Mogućnost dijeljenja i kloniranja


Microsoft Azure Notebook


Jupyter Notebook: Rich Text Elements Markdown
Markdown sintaksa: https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet LaTex: input $$c = \sqrt{a^2 + b^2}$$
output


Jupyter Notebook
Primjer bilježnice


Jupyter Notebook
Primjer bilježnice


Jupyter Notebook
Primjer bilježnice


Jupyter Notebook: Primjer zadatka
Projektni zadatak - Obrada podataka (8.raz.)
Korelacija: informatika (excel, html, python), matematika (koordinatni sustav)
- izraditi anketu na zadanu temu u nekom od online alata
- rezultate izvesti u .xls obliku i taj dokument ucitati u Pythonu
- koristeći modul matplotlib izraditi grafikone u Pythonu i prikazati rezultate
- Opisati projekt te dokumentirati slikama po želji

Jupyter Notebook: Primjer zadatka
Projektni zadatak - Obrada podataka (8.raz.)



Projektni zadatak - Mjesec (7.razred)
korelacija: geografija (svemir), engleski jezik (pojmovi), informatika (python,html)
- na stranici https://codeclubprojects.org/en-GB/python/ preuzeti zadatak (Python)
- Uz upute riješiti zadatak (kako preživjeti na Mjesecu 3 dana?)
- Uz zadatak napisati svoja opažanja i komentare
- U dokument dodati nekoliko slika Mjeseca +izvor

Jupyter Notebook: Primjer zadatka
Projektni zadatak - Mjesec (7.razred)

Jupyter Notebook: Primjer zadatka


Jupyter Notebook: Primjer zadatka
Projektni zadatak - U zdravom tijelu zdrav duh (8.raz.)
Korelacija: informatika (html, python, pretraživanje interneta), biologija (tema: krvni tlak)
- odgovoriti na pitanja iz biologije
- riješiti zadatke u Pythonu
- u bilježnicu umetnuti sliku tlakomjera
- na internetu pronaći nekoliko preporuka za visoki/niski krvni tlak te ih napisati (+izvor)
Ostale teme: srce, poremećaji krvi, dišni sustav, ovisnosti, utjecaj buke na osjetilo sluha, bolesti probavnih organa

Jupyter Notebook: Primjer zadatka
Projektni zadatak - U zdravom tijelu zdrav duh (8.raz.)



Github repozitorij s primjerima
Poveznica:

Python u online okruženju:
By Ivana V
Python u online okruženju:
- 273