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 False

Code 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)
  1. Anaconda (preuzeti softver i instalirati pomoću njega)
  2. 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 notebook

Jupyter Notebook

Online

     1. https://try.jupyter.org/

  • 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

Python u online okruženju:

By Ivana V

Python u online okruženju:

  • 273