Commit 8cc3065f authored by Ole-Magnus Pedersen's avatar Ole-Magnus Pedersen
Browse files

Legg til øving 1 fra i fjor for å teste nbgitpuller

parents
{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"deletable": false,
"editable": false,
"run_control": {
"frozen": true
}
},
"source": [
"<nav class=\"navbar navbar-default\">\n",
" <div class=\"container-fluid\">\n",
" <div class=\"navbar-header\">\n",
" <a class=\"navbar-brand\" href=\"_Oving1.ipynb\">Øving 1</a>\n",
" </div>\n",
" <ul class=\"nav navbar-nav\">\n",
" <li><a href=\"Intro%20til%20jupyter.ipynb\">Intro til Jupyter</a></li>\n",
" <li ><a href=\"Jeg%20elsker%20ITGK!.ipynb\">Jeg elsker ITGK!</a></li>\n",
" <li ><a href=\"Kalkulasjoner.ipynb\">Kalkulasjoner</a></li>\n",
" <li><a href=\"Input%20og%20variable.ipynb\">Input og variable</a></li>\n",
" <li><a href=\"Tallkonvertering.ipynb\">Tallkonvertering</a></li>\n",
" <li ><a href=\"Peppes%20Pizza.ipynb\">Peppes Pizza</a></li>\n",
" <li ><a href=\"Geometri.ipynb\">Geometri</a></li>\n",
" <li ><a href=\"Vitenskapelig%20notasjon.ipynb\">Vitenskapelig notasjon</a></li>\n",
" <li ><a href=\"Tetraeder.ipynb\">Tetraeder</a></li>\n",
" <li class=\"active\"><a href=\"Bakekurs.ipynb\">Bakekurs</a></li>\n",
" <li ><a href=\"James%20Bond%20and%20Operation%20round().ipynb\">James Bond and Operation Round</a></li>\n",
" </ul>\n",
" </div>\n",
"</nav>\n",
"\n",
"# Bakekurs\n",
"\n",
"**Læringsmål:**\n",
"\n",
"* Printe ut tekst til skjerm på en fin måte\n",
"\n",
"* Kalkulasjoner i Python\n",
"\n",
"**Starting Out with Python:**\n",
"\n",
"* Kap. 2.3\n",
"\n",
"* Kap. 2.8\n",
"\n",
"* Kap. 8\n",
"\n",
"I denne oppgaven skal du beregne mengden ingredienser som trengs for å lage cookies og printe resultatet på et fint format. \n",
"\n",
"Du skal lage cookies og har en oppskrift som gir 48 cookies. Den oppskriften krever følgende ingredienser:\n",
"\n",
"* 400 g sukker \n",
"* 320 g smør\n",
"* 500 g sjokolade\n",
"* 2 egg \n",
"* 460 g hvetemel "
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": false,
"editable": false,
"run_control": {
"frozen": true
}
},
"source": [
"## a)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": false,
"editable": false,
"run_control": {
"frozen": true
}
},
"source": [
"Spør brukeren om hvor mange cookies han eller hun ønsker å bake og skriv ut hvor mange ingredienser som trengs for å lage så mange cookies.\n",
"\n",
"Eksempel på kjøring:\n",
"\n",
" \n",
"```python\n",
"Hvor mange cookies ønsker du å bake? 24\n",
"Antall cookies: 24 \n",
"sukker(g): 200.0\n",
"smør(g): 160.0\n",
"sjokolade(g): 250.0\n",
"egg: 1.0\n",
"hvetemel(g): 230.0\n",
"```\n",
" \n",
"***Skriv koden din i blokka under.***"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {
"deletable": false,
"editable": false,
"heading_collapsed": true,
"run_control": {
"frozen": true
}
},
"source": [
"#### Tips til oppgave a: Escape Character"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": false,
"editable": false,
"hidden": true,
"run_control": {
"frozen": true
}
},
"source": [
"`\\n` er nyttig å bruke her for å få en ny linje! Eks. `print(“hei\\npå\\ndeg”)` gir\n",
"\n",
"**Utskrift**\n",
" \n",
"```\n",
"hei \n",
"på \n",
"deg\n",
"```"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": false,
"editable": false,
"run_control": {
"frozen": true
}
},
"source": [
"## b)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": false,
"editable": false,
"run_control": {
"frozen": true
}
},
"source": [
"Be brukeren om hvor mange cookies han eller hun ønsker å lage tre ganger og skriv ut ingrediensene på en fin og elegant måte. Du trenger kun å skrive ut antall cookies, og hvor mye sjokolade og sukker som trengs i gram.\n",
"\n",
"Eksempel på kjøring:\n",
"\n",
" \n",
"```python\n",
"Hvor mange cookies vil du lage? 24\n",
"og hvor mange cookies vil du lage nå? 48\n",
"og hvor mange cookies vil du lage til slutt? 72\n",
"Antall cookies: sukker(g) sjokolade(g)\n",
"24 200.0 250.0\n",
"48 400.0 500.0\n",
"72 600.0 750.0\n",
"```\n",
"\n",
"`rjust()` og `ljust()` er nyttige funksjoner her, men for å bruke dem må man først konvertere antall cookies til en streng vha. `str()`. Andre ting som kan være nyttig er `\\t` som lager et innrykk i teksten.\n",
"\n",
"***Skriv koden din i blokka under.***"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {
"deletable": false,
"editable": false,
"heading_collapsed": true,
"run_control": {
"frozen": true
}
},
"source": [
"#### ljust() og rjust()"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": false,
"editable": false,
"hidden": true,
"run_control": {
"frozen": true
}
},
"source": [
"`streng.ljust(width)` returnerer strengen \"left justified\" i en streng av lengde `width`. `streng.rjust(width)` gjør det sammen bare at strengen blir \"right justified\". For eksempel blir `print('hei'.rjust(15))` til:\n",
"\n",
" \n",
"```python\n",
" hei #teksten printes altså ut etter 12 white spaces, ettersom strengen har lengde 3\n",
"```\n",
" \n",
"Du kan lese mer om `rjust()` og `ljust()` [her](https://docs.python.org/2/library/stdtypes.html?highlight=rjust#str.rjust). "
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.4"
},
"toc": {
"base_numbering": 1,
"nav_menu": {},
"number_sections": false,
"sideBar": true,
"skip_h1_title": false,
"title_cell": "Table of Contents",
"title_sidebar": "Contents",
"toc_cell": false,
"toc_position": {},
"toc_section_display": true,
"toc_window_display": false
}
},
"nbformat": 4,
"nbformat_minor": 2
}
{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"deletable": false,
"editable": false,
"run_control": {
"frozen": true
}
},
"source": [
"<nav class=\"navbar navbar-default\">\n",
" <div class=\"container-fluid\">\n",
" <div class=\"navbar-header\">\n",
" <a class=\"navbar-brand\" href=\"_Oving1.ipynb\">Øving 1</a>\n",
" </div>\n",
" <ul class=\"nav navbar-nav\">\n",
" <li><a href=\"Intro%20til%20jupyter.ipynb\">Intro til Jupyter</a></li>\n",
" <li ><a href=\"Jeg%20elsker%20ITGK!.ipynb\">Jeg elsker ITGK!</a></li>\n",
" <li ><a href=\"Kalkulasjoner.ipynb\">Kalkulasjoner</a></li>\n",
" <li><a href=\"Input%20og%20variable.ipynb\">Input og variable</a></li>\n",
" <li><a href=\"Tallkonvertering.ipynb\">Tallkonvertering</a></li>\n",
" <li ><a href=\"Peppes%20Pizza.ipynb\">Peppes Pizza</a></li>\n",
" <li class=\"active\"><a href=\"Geometri.ipynb\">Geometri</a></li>\n",
" <li><a href=\"Vitenskapelig%20notasjon.ipynb\">Vitenskapelig notasjon</a></li>\n",
" <li><a href=\"Tetraeder.ipynb\">Tetraeder</a></li>\n",
" <li><a href=\"Bakekurs.ipynb\">Bakekurs</a></li>\n",
" <li ><a href=\"James%20Bond%20and%20Operation%20round().ipynb\">James Bond and Operation Round</a></li>\n",
" </ul>\n",
" </div>\n",
"</nav>\n",
"\n",
"# Geometri\n",
"\n",
"**Læringsmål:**\n",
"\n",
"* Forstå at kode må være feilfri for å kjøre, og rette enkle syntaksfeil\n",
"\n",
"* Debugging\n",
"\n",
"**Starting Out with Python:**\n",
"\n",
"* Kap. 2\n",
"\n",
"I denne oppgaven skal vi rette feil i koden og endre utskriftsformat.\n",
"\n",
"Norsklæreren din kunne utmerket godt lest en stil og forstått den på tross av noen småfeil, og til og med gitt god karakter hvis innholdet forøvrig var bra. Datamaskinen er ikke like tilgivende: I et Python-program må alt være pinlig nøyaktig, en enkelt skrivefeil kan være nok til at programmet slett ikke kjører."
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": false,
"editable": false,
"run_control": {
"frozen": true
}
},
"source": [
"## a)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": false,
"editable": false,
"run_control": {
"frozen": true
}
},
"source": [
"Rett alle syntaksfeilene i koden under slik at koden kjører uten problemer. Hver av syntaksfeilene her kan rettes ved å fjerne, legge til eller endre ett enkelt tegn, dvs. det er ikke nødvendig å gjøre større endringer i koden. Ved å kjøre programmet (velg ”Run” i menyen) og se på feilmeldinger vil du få hint om hvor hver enkelt syntaksfeil befinner seg."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"ExecuteTime": {
"end_time": "2019-07-01T11:56:48.846273Z",
"start_time": "2019-07-01T11:56:48.833816Z"
}
},
"outputs": [],
"source": [
"r = 5\n",
"print(\"Vi har en sirkel med radius\" + r)\n",
"omkrets = 2 * 3.14 * r\n",
"print(\"Omkretsen er\", omkrets))\n",
"areal = 3.14 * radius * * 2\n",
"print(\"Arealet er\", areal\n",
"h = 8\n",
"volum = aral * h\n",
"Print(\"Sylinder med høyde\", h, \": Volumet er, volum)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": false,
"editable": false,
"run_control": {
"frozen": true
}
},
"source": [
"Når koden fungerer bør du få følgende output:\n",
"\n",
" \n",
"```python\n",
"Vi har en sirkel med radius 5\n",
"Omkretsen er 31.400000000000002\n",
"Arealet er 78.5\n",
"Sylinder med høyde 8 : Volumet er 628.0\n",
" ```"
]
},
{
"cell_type": "markdown",
"metadata": {
"ExecuteTime": {
"end_time": "2019-07-01T11:57:35.984163Z",
"start_time": "2019-07-01T11:57:35.979863Z"
},
"deletable": false,
"editable": false,
"run_control": {
"frozen": true
}
},
"source": [
"#### Hint"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": false,
"editable": false,
"run_control": {
"frozen": true
}
},
"source": [
"Tenk på parenteser, fnutter, variabelnavn og (+/,) i kombinasjon av tekst og variabelnavn."
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": false,
"editable": false,
"run_control": {
"frozen": true
}
},
"source": [
"#### Formatering av antall desimaler"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": false,
"editable": false,
"run_control": {
"frozen": true
}
},
"source": [
"At omkretsen får en liten hale med ...002 skyldes at flyttall ikke kan lagres helt nøyaktig i dataens minne. Derfor kan det være ønskelig med kun to desimaler. Det er en innebygd funksjon i Python som tar seg av formatering og den ser slik ut: `format(tall, formatering)`. `tall` er her tallet som skal konverteres, dvs. omkretsen i eksempelet over, mens formatering går ut på hvordan man ønsker å formere tallet. Et eksempel er format`(2/3, ‘.3f’)` som gir `0.667`. 3-tallet indikerer at det ønskes 3 desimaler."
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": false,
"editable": false,
"run_control": {
"frozen": true
}
},
"source": [
"## b"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": false,
"editable": false,
"run_control": {
"frozen": true
}
},
"source": [
"Endre koden fra **a)** til å skrive ut omkretsen med kun 2 desimaler. Dvs. at linje to over skal bli endret til Omkretsen er 31.40.\n",
"\n",
"Kjøring av oppdatert kode:\n",
"\n",
" \n",
"```python\n",
"Vi har en sirkel med radius 5\n",
"Omkretsen er 31.40\n",
"Arealet er 78.5\n",
"Sylinder med høyde 8 : Volumet er 628.0\n",
" ```"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": false,
"editable": false,
"run_control": {
"frozen": true
}
},
"source": [
"## c)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": false,
"editable": false,
"run_control": {
"frozen": true
}
},
"source": [
"(frivillig vanskelig oppgave) I oppgave a får omkretsen verdien 31.400...002, hvorfor blir ikke omkretsen sin verdi lik 31.400...000?"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": false,
"editable": false,
"run_control": {
"frozen": true
}
},
"source": [
"Dobbelklikk på teksten under og skriv svaret ditt der:"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Svar:** <dobbelklikk her\\>"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.4"
},
"toc": {
"base_numbering": 1,
"nav_menu": {},
"number_sections": false,
"sideBar": true,
"skip_h1_title": false,
"title_cell": "Table of Contents",
"title_sidebar": "Contents",
"toc_cell": false,
"toc_position": {},
"toc_section_display": true,
"toc_window_display": false
}
},
"nbformat": 4,
"nbformat_minor": 2
}
This diff is collapsed.
{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"deletable": false,
"editable": false,
"run_control": {
"frozen": true
}
},
"source": [
"<nav class=\"navbar navbar-default\">\n",
" <div class=\"container-fluid\">\n",
" <div class=\"navbar-header\">\n",
" <a class=\"navbar-brand\" href=\"_Oving1.ipynb\">Øving 1</a>\n",
" </div>\n",
" <ul class=\"nav navbar-nav\">\n",
" <li class=\"active\"><a href=\"Intro%20til%20jupyter.ipynb\">Intro til Jupyter</a></li>\n",
" <li><a href=\"Jeg%20elsker%20ITGK!.ipynb\">Jeg elsker ITGK!</a></li>\n",
" <li ><a href=\"Kalkulasjoner.ipynb\">Kalkulasjoner</a></li>\n",
" <li><a href=\"Input%20og%20variable.ipynb\">Input og variable</a></li>\n",
" <li><a href=\"Tallkonvertering.ipynb\">Tallkonvertering</a></li>\n",
" <li><a href=\"Peppes%20Pizza.ipynb\">Peppes Pizza</a></li>\n",
" <li><a href=\"Geometri.ipynb\">Geometri</a></li>\n",
" <li><a href=\"Vitenskapelig%20notasjon.ipynb\">Vitenskapelig notasjon</a></li>\n",
" <li><a href=\"Tetraeder.ipynb\">Tetraeder</a></li>\n",
" <li><a href=\"Bakekurs.ipynb\">Bakekurs</a></li>\n",
" <li ><a href=\"James%20Bond%20and%20Operation%20round().ipynb\">James Bond and Operation Round</a></li>\n",
" </ul>\n",
" </div>\n",
"</nav>\n",
"\n",
"# Introduksjon til Jupyter\n",
"\n",
"Hei, og velkommen til Jupyter, en annen måte å skrive kode på! Jupyter er et system som lar deg lage dokumenter som inneholder både tekst og kode på en gang. Det fine her er at du kan kjøre koden i dokumentet og se resultatet umiddelbart. Dette kan du prøve ut nå. \n",
"\n",
"**oppgave a)** Klikk på kodeblokken under og trykk `ctrl + enter` på tastaturet for å kjøre koden. (Det er også mulig å klikke på kodeblokken for så å klikke `run` i menyen på toppen)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"print(\"Velkommen til jupyter\")"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": false,
"editable": false,
"run_control": {
"frozen": true
}
},
"source": [
"Som du ser kommer resultatet av koden ut rett nedenfor kodeblokken. Dette er veldig praktisk og du kan kjøre koden så mange ganger du vil! Hvis du trykker på `ctrl + enter` i kodeblokken over en gang til vil du se at tallet til venstre for kodeblokken øker. Dette tallet brukes bare som referanse og er ikke noe du trenger å tenke på til vanlig.\n",
"\n",
"Alle kodeblokker i et dokument kan endres på, og dette oppfordres på det sterkeste! Det er mye god læring i å endre kode, tenke seg til hva som skal skje og sjekke om dette faktisk skjer. Du kan for eksempel prøve å kjøre programmet under med `ctrl + enter`, gjøre et par endringer og sjekke om den nye versjonen din gjør det du hadde tenkt."
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": false,
"editable": false,
"run_control": {
"frozen": true
}
},
"source": [
"**Oppgave b)** Endre første linje i koden under til `print(\"Dette er mitt første Jupyter-program\")`"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"print(\"Dette er et program i jupyter\") #endre denne linjen\n",