"I denne oppgaven skal vi utvikle en funksjon som utfører konvertering fra Celsius til Fahrenheit. Deretter skal vi lage en graf som viser denne konverteringen over et temperaturområde fra -100C til 100C.\n",
"\n",
"$$F = \\frac{9}{5}C + 32$$"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Skriv kode her"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Eksempel 1 - Syntaks"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Dette er en \"tuple\". Vi skal se mer på det senere\n",
"sequence = (1, 3, 5, 7, 9, 11, 13)\n",
"for number in sequence:\n",
" print(number)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Eksempel 2 - `range()`\n",
"\n",
" - `range(stop)`\n",
" - `range(start, stop)`\n",
" - `range(start, stop, step)`"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"for i in range(5):\n",
" print(i)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"for j in range(5, 10):\n",
" print(j)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"for k in range(0, 20, 2):\n",
" print(k)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"for i in range(4):\n",
" print(\"ITGK\")\n",
"print(\"Ferdig!\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Oppgave 2\n",
"\n",
"Skriv et program som printer\n",
" 1. Alle tallene fra 0 til og med 10\n",
" 2. Alle tallene fra 10 til og med 20 bortsett fra 14\n",
" 3. Alle tallene fra 10 til og med 20 baklengs (20 -> 10)\n",
" 4. Alle partall fra 50 til og med 74\n",
"\n",
"**Ekstraoppgave**\n",
"\n",
"Print tall mellom 0 og 1 med intervall på 0.1"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Skriv kode her"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Oppgave 3\n",
"\n",
"Skriv et program som\n",
" 1. Summerer sammen tallene fra 4 til og med 20\n",
" 2. Finner produktet av tallene fra 2 til og med 10\n",
"\n",
"**Hint**\n",
"\n",
"Bruk en variabel som kan holde resultatet\n",
"\n",
"**Ekstraoppgave**\n",
"\n",
"Summer opp partall og oddetall hver for seg"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Skriv kode her"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Oppgave 4\n",
"\n",
"Lag et program som tar inn tre tall fra brukeren, og skriver ut alle tallene **mellom de to første** (første inklusiv, andre eksklusiv) som er **delelige på det tredje**\n",
"\n",
"**Hint**\n",
"\n",
"`a % b`\n",
"\n",
"**Ekstraoppgave**\n",
"\n",
"Gjør det samme, men uten å iterere gjennom alle tallene mellom de to første"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Skriv kode her"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Eksempel - `while`-løkke\n",
"\n",
"Kjører kode **inntill en betingelse ikke lenger er oppfylt**"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"i = 0\n",
"# Printer \"Hello\" 5 ganger\n",
"while i < 5:\n",
" print(\"Hello\")\n",
" i += 1"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"i = 5\n",
"# Printer tallene fra 5 til 10\n",
"while i <= 10:\n",
" print(i)\n",
" i += 1"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"i = 0\n",
"while i < 4:\n",
" print(\"ITGK\")\n",
" i += 1\n",
"print(\"Ferdig!\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Oppgave 5\n",
"\n",
"Skriv et program som gjør følgende:\n",
" 1. Tar inn et tall fra bruker\n",
" 2. Summerer tallene fra 1 og oppover helt til summen overstiger tallet fra bruker\n",
" 3. Skriver ut et hvert regnestykke til konsollen på formen `a + b = c`\n",
"\n",
"**Ekstraoppgave:**\n",
"\n",
" - Topp ved det siste tallet før summen overstiger tallet fra bruker\n",
" - Gi en feilmelding dersom brukeren skriver inn et negativt tall og be om et nytt"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Skriv kode her"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Oppgave 6\n",
"\n",
"Lag en evig `while`-løkke som\n",
" 1. Tar inn tall fra brukeren\n",
" 2. Skriver ut kvadratet ($x^2$) og kvadratroten av tallet\n",
"\n",
" **Hint**\n",
"\n",
" $x^{1/2}$ eller [math.sqrt(x)](https://docs.python.org/3/library/math.html#math.sqrt)\n",
"\n",
" **Ekstraoppgave**\n",
" - Dersom brukeren skriver \"avslutt\" skal løkken stoppe\n",
" - Dersom brukeren skriver inn et negativt tall, ikke skriv ut kvadratroten\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Skriv kode her"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Oppgave 7\n",
"\n",
"Lag et program som gjør følgende:\n",
" 1. Tar inn et tall fra brukeren\n",
" 2. Sjekker om tallet er likt et annet tall som du har bestemt på forhånd\n",
" - Dersom tallet er likt, skriver programmet ut \"Du vant!\"\n",
" 3. Hvis tallene **ikke** er like: Si om det innskrevne tallet er større eller mindre enn det hemmelige tallet\n",
" 4. Be brukeren om å skrive inn et nytt tall\n",
"\n",
"**Ekstraoppgave**\n",
" - Skriv at tallet er *mye* større/mindre hvis det er mer enn 10 i differanse\n",
" - Gi brukeren 5 forsøk, og gi brukeren beskjed om hvor mange forsøk som er igjen"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Skriv kode her"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Oppgave 8\n",
"\n",
" - Skriv en `while`-løkke som ber om et tall fra bruker hver iterasjon og summerer tallene som er skrevet inn\n",
" - Gjør at programmet avsluttes dersom `-1` skrive inn (uten å legge -1 til i summen)\n",
" - Avslutt programmet dersom summen overgår 100 (men skriv ut siste summen)\n",
"\n",
"**Ekstraoppgave**\n",
"\n",
"La brukeren bestemme tallet programmet skal avsluttes når summen overgår"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Skriv kode her"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Eksempel - tilfeldige tall\n",
"\n",
"Dokumentasjon om [random#randrange](https://docs.python.org/3/library/random.html#random.randrange) og [random#randint](https://docs.python.org/3/library/random.html#random.randint)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import random\n",
"\n",
"# Printer et tilfeldig tall mellom 1 og 10\n",
"rand_num_1 = random.randint(1, 10)\n",
"\n",
"# Printer et tilfeldig tall mellom 1 og 9\n",
"rand_num_2 = random.randrange(1, 10)\n",
"\n",
"print(rand_num_1, rand_num_2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Oppgave 9\n",
"\n",
"- Lag et program som printer et antall tilfeldige tall mellom to tall brukeren skriver inn. Antallet skal også være gitt av brukeren.\n",
"\n",
"**Hint**\n",
"```python\n",
"import random\n",
"\n",
"random.randint(1, 10)\n",
"```\n",
"\n",
"**Ekstraoppgave**\n",
" - Modifiser programmet til å printe ut hvor mange oddetall som ble laget til slutt\n",
" - Skriv ut gjennomsnittet av alle tallene"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Skriv kode her"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Oppgave 10\n",
"\n",
"Du skal ha Multiple Choice eksamen med 10 spørsmål, og lurer på om du klarer å gjette deg til å stå!\n",
"\n",
" - Lag et program som *10 ganger* gir deg sjansen til å gjette på et tall mellom 1 - 4 og lagrer det riktig svaret som en variabel med tilfeldig verdi før man gjetter\n",
" - Etter løkken, skriv ut hvor mange prosent riktig du hadde\n",
"\n",
"**Hint**\n",
"```python\n",
"import random\n",
"\n",
"random.randint(1, 10)\n",
"```"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Skriv kode her"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Oppgave 11\n",
"\n",
"Lag et program som\n",
" 1. Tar inn et heltall `max_rand_int` fra brukeren\n",
" 2. Tar inn et heltall `target` fra brukeren\n",
" 3. Genererer tilfeldige tall mellom 0 og `max_rand_int` helt til det genererer `target`\n",
" 4. Printer hvert genererte tall\n",
"\n",
"**Ekstraoppgave**\n",
"\n",
"Utvid programmet til å til slutt printe hvor mange forsøk det trengte for å lage `target`"
I denne oppgaven skal vi utvikle en funksjon som utfører konvertering fra Celsius til Fahrenheit. Deretter skal vi lage en graf som viser denne konverteringen over et temperaturområde fra -100C til 100C.
$$F = \frac{9}{5}C + 32$$
%% Cell type:code id: tags:
``` python
# Skriv kode her
```
%% Cell type:markdown id: tags:
## Eksempel 1 - Syntaks
%% Cell type:code id: tags:
``` python
# Dette er en "tuple". Vi skal se mer på det senere
sequence=(1,3,5,7,9,11,13)
fornumberinsequence:
print(number)
```
%% Cell type:markdown id: tags:
## Eksempel 2 - `range()`
-`range(stop)`
-`range(start, stop)`
-`range(start, stop, step)`
%% Cell type:code id: tags:
``` python
foriinrange(5):
print(i)
```
%% Cell type:code id: tags:
``` python
forjinrange(5,10):
print(j)
```
%% Cell type:code id: tags:
``` python
forkinrange(0,20,2):
print(k)
```
%% Cell type:code id: tags:
``` python
foriinrange(4):
print("ITGK")
print("Ferdig!")
```
%% Cell type:markdown id: tags:
## Oppgave 2
Skriv et program som printer
1. Alle tallene fra 0 til og med 10
2. Alle tallene fra 10 til og med 20 bortsett fra 14
3. Alle tallene fra 10 til og med 20 baklengs (20 -> 10)
4. Alle partall fra 50 til og med 74
**Ekstraoppgave**
Print tall mellom 0 og 1 med intervall på 0.1
%% Cell type:code id: tags:
``` python
# Skriv kode her
```
%% Cell type:markdown id: tags:
## Oppgave 3
Skriv et program som
1. Summerer sammen tallene fra 4 til og med 20
2. Finner produktet av tallene fra 2 til og med 10
**Hint**
Bruk en variabel som kan holde resultatet
**Ekstraoppgave**
Summer opp partall og oddetall hver for seg
%% Cell type:code id: tags:
``` python
# Skriv kode her
```
%% Cell type:markdown id: tags:
# Oppgave 4
Lag et program som tar inn tre tall fra brukeren, og skriver ut alle tallene **mellom de to første** (første inklusiv, andre eksklusiv) som er **delelige på det tredje**
**Hint**
`a % b`
**Ekstraoppgave**
Gjør det samme, men uten å iterere gjennom alle tallene mellom de to første
%% Cell type:code id: tags:
``` python
# Skriv kode her
```
%% Cell type:markdown id: tags:
## Eksempel - `while`-løkke
Kjører kode **inntill en betingelse ikke lenger er oppfylt**
%% Cell type:code id: tags:
``` python
i=0
# Printer "Hello" 5 ganger
whilei<5:
print("Hello")
i+=1
```
%% Cell type:code id: tags:
``` python
i=5
# Printer tallene fra 5 til 10
whilei<=10:
print(i)
i+=1
```
%% Cell type:code id: tags:
``` python
i=0
whilei<4:
print("ITGK")
i+=1
print("Ferdig!")
```
%% Cell type:markdown id: tags:
## Oppgave 5
Skriv et program som gjør følgende:
1. Tar inn et tall fra bruker
2. Summerer tallene fra 1 og oppover helt til summen overstiger tallet fra bruker
3. Skriver ut et hvert regnestykke til konsollen på formen `a + b = c`
**Ekstraoppgave:**
- Topp ved det siste tallet før summen overstiger tallet fra bruker
- Gi en feilmelding dersom brukeren skriver inn et negativt tall og be om et nytt
%% Cell type:code id: tags:
``` python
# Skriv kode her
```
%% Cell type:markdown id: tags:
## Oppgave 6
Lag en evig `while`-løkke som
1. Tar inn tall fra brukeren
2. Skriver ut kvadratet ($x^2$) og kvadratroten av tallet
**Hint**
$x^{1/2}$ eller [math.sqrt(x)](https://docs.python.org/3/library/math.html#math.sqrt)
**Ekstraoppgave**
- Dersom brukeren skriver "avslutt" skal løkken stoppe
- Dersom brukeren skriver inn et negativt tall, ikke skriv ut kvadratroten
%% Cell type:code id: tags:
``` python
# Skriv kode her
```
%% Cell type:markdown id: tags:
## Oppgave 7
Lag et program som gjør følgende:
1. Tar inn et tall fra brukeren
2. Sjekker om tallet er likt et annet tall som du har bestemt på forhånd
- Dersom tallet er likt, skriver programmet ut "Du vant!"
3. Hvis tallene **ikke** er like: Si om det innskrevne tallet er større eller mindre enn det hemmelige tallet
4. Be brukeren om å skrive inn et nytt tall
**Ekstraoppgave**
- Skriv at tallet er *mye* større/mindre hvis det er mer enn 10 i differanse
- Gi brukeren 5 forsøk, og gi brukeren beskjed om hvor mange forsøk som er igjen
%% Cell type:code id: tags:
``` python
# Skriv kode her
```
%% Cell type:markdown id: tags:
## Oppgave 8
- Skriv en `while`-løkke som ber om et tall fra bruker hver iterasjon og summerer tallene som er skrevet inn
- Gjør at programmet avsluttes dersom `-1` skrive inn (uten å legge -1 til i summen)
- Avslutt programmet dersom summen overgår 100 (men skriv ut siste summen)
**Ekstraoppgave**
La brukeren bestemme tallet programmet skal avsluttes når summen overgår
%% Cell type:code id: tags:
``` python
# Skriv kode her
```
%% Cell type:markdown id: tags:
## Eksempel - tilfeldige tall
Dokumentasjon om [random#randrange](https://docs.python.org/3/library/random.html#random.randrange) og [random#randint](https://docs.python.org/3/library/random.html#random.randint)
%% Cell type:code id: tags:
``` python
importrandom
# Printer et tilfeldig tall mellom 1 og 10
rand_num_1=random.randint(1,10)
# Printer et tilfeldig tall mellom 1 og 9
rand_num_2=random.randrange(1,10)
print(rand_num_1,rand_num_2)
```
%% Cell type:markdown id: tags:
## Oppgave 9
- Lag et program som printer et antall tilfeldige tall mellom to tall brukeren skriver inn. Antallet skal også være gitt av brukeren.
**Hint**
```python
importrandom
random.randint(1,10)
```
**Ekstraoppgave**
- Modifiser programmet til å printe ut hvor mange oddetall som ble laget til slutt
- Skriv ut gjennomsnittet av alle tallene
%% Cell type:code id: tags:
``` python
# Skriv kode her
```
%% Cell type:markdown id: tags:
## Oppgave 10
Du skal ha Multiple Choice eksamen med 10 spørsmål, og lurer på om du klarer å gjette deg til å stå!
- Lag et program som *10 ganger* gir deg sjansen til å gjette på et tall mellom 1 - 4 og lagrer det riktig svaret som en variabel med tilfeldig verdi før man gjetter
- Etter løkken, skriv ut hvor mange prosent riktig du hadde
**Hint**
```python
importrandom
random.randint(1,10)
```
%% Cell type:code id: tags:
``` python
# Skriv kode her
```
%% Cell type:markdown id: tags:
## Oppgave 11
Lag et program som
1. Tar inn et heltall `max_rand_int` fra brukeren
2. Tar inn et heltall `target` fra brukeren
3. Genererer tilfeldige tall mellom 0 og `max_rand_int` helt til det genererer `target`
4. Printer hvert genererte tall
**Ekstraoppgave**
Utvid programmet til å til slutt printe hvor mange forsøk det trengte for å lage `target`