Skip to content
Snippets Groups Projects
Commit bf3bff23 authored by Nils Tesdal's avatar Nils Tesdal
Browse files

Add new file

parent 3c6932ed
No related branches found
No related tags found
No related merge requests found
# Innhold
* [IDE](#ide)
* [Hello World](#hello-world)
* [Løkker](#løkker)
* [Variabler](#variabler)
* [Debugging](#debugging)
* [Oppgave](#oppgave)
# IDE
Man kan skrive kode med en enkel teksteditor, men det er lettere å bruke et program som er spesiallaget til dette formålet. Da bruker vi gjerne en IDE (Integrated Development Environment). Det finnes flere IDE'er som er brukbare for hvert språk, og noen IDE'er kan brukes til flere programmeringsspråk. Vi skal bruke en enkel IDE som er spesiallaget for Python-undervisning. Denne IDE'en heter "Thonny" og vi kan laste den ned herfra: [http://thonny.org](http://thonny.org). Hvis noen ønsker å bruke en mer avansert IDE er det mulig å bruke andre, f.eks [PyDev](http://www.pydev.org/),
men jeg vil anbefale å bruke Thonny da det er denne som brukes i undervisningen.
Last ned Thonny og følg instruksjonene for å installere den på nettsiden. Når du så starter Thonny vil du få opp et vindu som ser slik ut (Windows):
![figure1](../images/Thonny1.png)
![figure11](https://gitlab.stud.iie.ntnu.no/nilstesd/python-leksjoner/blob/master/images/Thonny1.png)
Dette vinduet har 3 ruter. I ruten øverst til venstre skriver vi kode, i ruten under ser vi resultatet når vi kjører koden, og ruten til høyre brukes for "debugging". Vi skal se litt på debugging senere.
# Hello World
Nå kan vi lage vårt første program i Python. Skriv følgende kode i ruten øverst til venstre:
```python
print("Hei verden!")
```
Dette er et enkelt men fullverdig Python-program hvor vi ganske enkelt sier at programmet skal skrive ut teksten "Hei verden!". For at vi skal kunne kjøre programmet må vi først lagre det i en fil. Velg *File/Save* eller trykk på diskett-knappen, velg en passende mappe og bruk f.eks filnavnet *hello.py*. Vi bruker alltid filetternavnet *.py* for Python-programmer.
Kjør programmet ved å trykke på den grønne start-knappen på verktøylinja. Da vil du se at teksten "Hei verden!" blir skrevet ut i ruten nederst til venstre:
![Thonny3](/uploads/68b0bfa1066c881e44a7a5dbd52396aa/Thonny3.png)
Merk at koden i Thonny blir fargelagt etter visse regler. Dette kalles "syntax highlighting" og gjør at det blir lettere å lese koden.
# Løkker
La oss prøve å gjøre noen endringer på programmet vi har skrevet. Hvordan kan vi f.eks skrive ut teksten "Hei verden!" flere ganger? Den aller enkleste løsningen er å endre programmet slik at vi skriver samme `print`-kommando flere ganger:
![Thonny4](/uploads/9bf01571dc592c265d9b1e58124b279d/Thonny4.png)
Men det finnes mer elegante måter å gjøre dette på. Vi kan heller lage en **løkke**.
```python
for i in range(0, 3):
print("Hei verden!")
```
Dette gir akkurat samme resultat som før. Her introduserer vi både en variabel og en løkke.
**todo:** Forklar begge konseptene...
For å illustrere dette kan vi også skrive ut verdien av variabelen `i` i koden. Legg til kommandoen `print(i)` på denne måten:
```python
for i in range(0, 3):
print("Hei verden!")
print(i)
```
Siden begge `print`-kommandoene er "indentert" på samme nivå, dvs at det er samme antall mellomrom foran kommandoen, vil begge `print`-kommandoene bli utført som en del av løkka.
Når vi kjører programmet ser vi dette:
![Thonny5](/uploads/6e506c4a0c03296e5a49ae49bd1b7909/Thonny5.png)
Første gang teksten skrives ut er `i` 0, så 1, så 2. Merk at den blir aldri 3. Når vi lager løkken sier vi at `i` først skal være 0, så skal den økes med **en** for hver gang, så lenge den **er mindre** enn 3.
Vi kan endre indenteringen slik at den andre `print`-kommandoen ikke er en del av løkka. Her utføres den andre kommandoen etter at løkka er ferdig:
![Thonny5-2](/uploads/2df6e5f3999a4e45c2b503c47d5e3467/Thonny5-2.png)
# Variabler
Vi brukte variabelen `i` for å lage en løkke, men vi kan bruke variabler på flere måter.
**todo:** forklar hva vi gjør her
![Thonny6](/uploads/250891890b36e57d796ce529491b1db9/Thonny6.png)
Merk innholdet i ruten til høyre. Denne viser nå verdien av alle variablene slik de var på slutten av eksekveringen (kjøring) av koden. Vi kan også bruke denne ruten til å vise verdien av variablene mens vi kjører. Dette kaller vi "debugging".
# Debugging
Debugging er egentlig prosessen å fjerne "bugs" eller feil fra et program, men brukes mer spesifikt om et spesielt nyttig verktøy for å få til dette, nemlig det å kjøre et program linje for linje, mens vi kan inspisere innholdet i variablene.
La oss prøve dette men en gang. Trykk på insekt-knappen (bug'en) ved siden av start-knappen. Thonny vil da se slik ut:
![Thonny7](/uploads/26a249f6545b855832462422b45f1dc4/Thonny7.png)
Nå har vi startet programmet, men det venter på videre instruksjoner fra oss. Første kommando har enda ikke blitt kjørt. La oss nå kjøre kommandoen på den første linja. Det gjør vi ved å trykke på ikonet til høyre for insektet (step over):
![Thonny8](/uploads/edf4ef7f04f011b6b23fc18ce425a051/Thonny8.png)
Nå er første kommando kjørt. Denne kommandoen sa at vi skulle gi variabelen `a` verdien 5. Dette kan vi nå verifisere ved å inspisere variabel-vinduet til høyre.
La oss også kjøre neste kommando også ved å trykke på "step over" en gang til:
![Thonny9](/uploads/dd058022ad3e6c2d56fc544cb262ea54/Thonny9.png)
Da ser vi at variabelen `b` har fått verdien 6.
Vi kjører enda en kommando:
![Thonny10](/uploads/542207260f04daa6f4c5c2374043dd38/Thonny10.png)
Nå har også `c` fått en verdi. Denne gangen brukte vi ikke en enkel tilordning av verdi, men vi utførte en enkel addisjon.
Vi kjører neste kommando også:
![Thonny11](/uploads/6ce688300aa00d8192eb06f6e6f9f461/Thonny11.png)
Nå sa vi at verdien av `c` skulle bli `c + 2`, altså vi legger til 2 på eksisterende verdi. Dette gjenspeiles i variabelvinduet som nå viser at `c` er 13.
Vi kjører siste kommando:
![Thonny12](/uploads/42313a4785be3380f8f2d5fc2cc2baab/Thonny12.png)
Nå ble ingen av variablene endret, men vi ser i "Shell"-ruten at verdien av `c` har blitt skrevet ut.
Dette var et enkelt eksempel. Når vi etterhvert lager litt større programmer er dette et kjempenyttig verktøy vi kan bruke for å forstå hvordan programmet vårt fungerer.
# Oppgave
Nå skal dere prøve å løse en konkret oppgave.
**todo:** lag oppgave, bla bla
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment