"Plott funksjonen f(x) = cos(x) i intervallet (-4 pi, 4 pi). Velg “oppløsning” på x-aksen selv.\n",
"\n",
"Hint: Numpy har innebygget cosinus-funksjon"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Skriv kode her"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Oppgave 2\n",
"\n",
"Plott funksjonene f(x) = sin(2x) og g(x) = cos(2x) i hvert sitt plot ved siden av hverandre\n",
"\n",
"Velg \"oppløsning\" på x-aksen selv"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Skriv kode her"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Oppgave 3\n",
"\n",
"Lag en funksjon som tar inn 3 tall og returnerer summen av dem\n",
"\n",
"Funksjonen skal oppføre seg akkurat som sum() funksjonen, bare med maks 3 tall. Det er ikke lov å bruke innebygde funksjoner (sum, np.sum, etc.) for å løse oppgaven.\n",
"\n",
"Merk: Til vanlig vil ikke lage funksjoner som allerede er laget for oss,\n",
"dette gjør vi kun for trening. "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Skriv kode her"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Oppgave 4\n",
"\n",
"Vi ønsker å regne ut fakultet (factorial) av noen tall, og skal derfor lage en funksjon som implementerer denne logikken.\n",
"\n",
"For eksempel er 4! = 1⋅2⋅3⋅4 = 24, mens 5! = 1⋅2⋅3⋅4⋅5 = 120."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Skriv kode her"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Oppgave 5\n",
"\n",
"Lag en funksjon som tar inn en streng, og returnerer antall små og antall store bokstaver i strengen. Benytt funksjonene str#isupper() og str#islower()."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Skriv kode her"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Oppgave 6\n",
"\n",
"Du vil lage en dum chatbot som svarer ja eller nei med like stor sannsynlighet\n",
"\n",
"Lag en funksjon som tar inn et spørsmål som parameter, og skriver ut spørsmålet og svaret sitt (ja eller nei tilfeldig)\n",
"\n",
"Hint:\n",
"```python\n",
"import random\n",
"random.choice([\"Ja\", \"Nei\"])\n",
"```"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Skriv kode her"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Oppgave 7\n",
"\n",
"Forsikring av input-type\n",
"\n",
"Lag en funksjon som spør bruker om et heltall, og spør igjen dersom brukeren ikke skriver inn et heltall\n",
"Når brukeren har skrevet inn et heltall, skal funksjonen returnere tallet \n",
"\n",
"Hint: \n",
"str.isnumeric() sjekker om en streng kun inneholder tall "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Skriv kode her"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Oppgave 8\n",
"\n",
"Primtallstester\n",
"\n",
"Skriv en funksjon som tar inn et heltall, og returnerer True hvis tallet er et primtall, ellers False\n",
"\n",
"Husk: Et tall er et primtall hvis det ikke er delelig på noen andre tall enn seg selv og 1"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Skriv kode her"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Oppgave 9 (1/2)\n",
"\n",
"Lag en funksjon `beregn_omkrets` som gjør følgende:\n",
" - Tar inn et tall radius som parameter\n",
" - Returnerer omkretsen til en sirkel med radius <radius>\n",
"\n",
"Lag en funksjon `beregn_areal` som gjør følgende:\n",
" - Tar inn et tall radius som parameter\n",
" - Returnerer arealet til en sirkel med radius <radius>"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Skriv kode her"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Oppgave 9 (2/2)\n",
"\n",
"Lag en geometriprogram()-funksjon som gjør følgende:\n",
" - Tar inn en radius fra bruker\n",
" - Regner ut omkretsen av en sirkel med radius <radius>\n",
" - Regner ut arealet av en sirkel med radius <radius>\n",
" - Skriver ut resultatet fra del (2) og (3)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Skriv kode her"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Oppgave 10 (1/3)\n",
"\n",
"Vi skal lage et enkelt terningspill. I spillet trenger vi mulighet til å trille en terning\n",
"\n",
"Lag en funksjon som triller en terning, dvs. returnerer et tall fra og med 1 til og med 6\n",
"\n",
"Hint: \n",
"```python\n",
"import random\n",
"\n",
"x = random.randint(1, 6) \n",
"```"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Skriv kode her"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Oppgave 10 (2/3)\n",
"\n",
"En runde i spillet består av at spilleren gjetter hvor mye hen til sammen kommer til å trille, før 6 terninger trilles. Hvis hen gjettet riktig, får hen 3 poeng. Hvis hen var innenfor 5 fra riktig verdi, får hen 1 poeng. \n",
"\n",
"Lag en funksjon for å beregne poeng gitt spilleren, basert på spillerens gjett og verdien til de trillede terningene. \n",
"\n",
"Lag så en funksjon for en runde, som spør spilleren om å gjette, triller terninger, og returnerer poengsummen for den runden. "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Skriv kode her"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Oppgave 10 (3/3)\n",
"\n",
"Til slutt vil vi ha mulighet til å spille hele spillet\n",
"\n",
"Husk: main() kaller de andre funksjonene og står for kommunikasjon med bruker\n",
"\n",
"Spør spilleren først hvor mange runder hen vil spille, og kjør så gjennom <antall> mange runder. Hold kontroll på poengsummen til brukeren, og skriv den ut til slutt. \n",
"\n",
"Ekstraoppgave:\n",
"Utvid spillet til å være for to spillere"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Skriv kode her"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "venv",
"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.11.5"
},
"orig_nbformat": 4
},
"nbformat": 4,
"nbformat_minor": 2
}
%% Cell type:markdown id: tags:
# Øvingsforelesning 6 - TDT4110
Øving 4: Funksjoner
%% Cell type:markdown id: tags:
#### Oppgave 1
Plott funksjonen f(x) = cos(x) i intervallet (-4 pi, 4 pi). Velg “oppløsning” på x-aksen selv.
Hint: Numpy har innebygget cosinus-funksjon
%% Cell type:code id: tags:
``` python
# Skriv kode her
```
%% Cell type:markdown id: tags:
#### Oppgave 2
Plott funksjonene f(x) = sin(2x) og g(x) = cos(2x) i hvert sitt plot ved siden av hverandre
Velg "oppløsning" på x-aksen selv
%% Cell type:code id: tags:
``` python
# Skriv kode her
```
%% Cell type:markdown id: tags:
#### Oppgave 3
Lag en funksjon som tar inn 3 tall og returnerer summen av dem
Funksjonen skal oppføre seg akkurat som sum() funksjonen, bare med maks 3 tall. Det er ikke lov å bruke innebygde funksjoner (sum, np.sum, etc.) for å løse oppgaven.
Merk: Til vanlig vil ikke lage funksjoner som allerede er laget for oss,
dette gjør vi kun for trening.
%% Cell type:code id: tags:
``` python
# Skriv kode her
```
%% Cell type:markdown id: tags:
#### Oppgave 4
Vi ønsker å regne ut fakultet (factorial) av noen tall, og skal derfor lage en funksjon som implementerer denne logikken.
For eksempel er 4! = 1⋅2⋅3⋅4 = 24, mens 5! = 1⋅2⋅3⋅4⋅5 = 120.
%% Cell type:code id: tags:
``` python
# Skriv kode her
```
%% Cell type:markdown id: tags:
#### Oppgave 5
Lag en funksjon som tar inn en streng, og returnerer antall små og antall store bokstaver i strengen. Benytt funksjonene str#isupper() og str#islower().
%% Cell type:code id: tags:
``` python
# Skriv kode her
```
%% Cell type:markdown id: tags:
#### Oppgave 6
Du vil lage en dum chatbot som svarer ja eller nei med like stor sannsynlighet
Lag en funksjon som tar inn et spørsmål som parameter, og skriver ut spørsmålet og svaret sitt (ja eller nei tilfeldig)
Hint:
```python
importrandom
random.choice(["Ja","Nei"])
```
%% Cell type:code id: tags:
``` python
# Skriv kode her
```
%% Cell type:markdown id: tags:
#### Oppgave 7
Forsikring av input-type
Lag en funksjon som spør bruker om et heltall, og spør igjen dersom brukeren ikke skriver inn et heltall
Når brukeren har skrevet inn et heltall, skal funksjonen returnere tallet
Hint:
str.isnumeric() sjekker om en streng kun inneholder tall
%% Cell type:code id: tags:
``` python
# Skriv kode her
```
%% Cell type:markdown id: tags:
#### Oppgave 8
Primtallstester
Skriv en funksjon som tar inn et heltall, og returnerer True hvis tallet er et primtall, ellers False
Husk: Et tall er et primtall hvis det ikke er delelig på noen andre tall enn seg selv og 1
%% Cell type:code id: tags:
``` python
# Skriv kode her
```
%% Cell type:markdown id: tags:
#### Oppgave 9 (1/2)
Lag en funksjon `beregn_omkrets` som gjør følgende:
- Tar inn et tall radius som parameter
- Returnerer omkretsen til en sirkel med radius <radius>
Lag en funksjon `beregn_areal` som gjør følgende:
- Tar inn et tall radius som parameter
- Returnerer arealet til en sirkel med radius <radius>
%% Cell type:code id: tags:
``` python
# Skriv kode her
```
%% Cell type:markdown id: tags:
#### Oppgave 9 (2/2)
Lag en geometriprogram()-funksjon som gjør følgende:
- Tar inn en radius fra bruker
- Regner ut omkretsen av en sirkel med radius <radius>
- Regner ut arealet av en sirkel med radius <radius>
- Skriver ut resultatet fra del (2) og (3)
%% Cell type:code id: tags:
``` python
# Skriv kode her
```
%% Cell type:markdown id: tags:
#### Oppgave 10 (1/3)
Vi skal lage et enkelt terningspill. I spillet trenger vi mulighet til å trille en terning
Lag en funksjon som triller en terning, dvs. returnerer et tall fra og med 1 til og med 6
Hint:
```python
importrandom
x=random.randint(1,6)
```
%% Cell type:code id: tags:
``` python
# Skriv kode her
```
%% Cell type:markdown id: tags:
#### Oppgave 10 (2/3)
En runde i spillet består av at spilleren gjetter hvor mye hen til sammen kommer til å trille, før 6 terninger trilles. Hvis hen gjettet riktig, får hen 3 poeng. Hvis hen var innenfor 5 fra riktig verdi, får hen 1 poeng.
Lag en funksjon for å beregne poeng gitt spilleren, basert på spillerens gjett og verdien til de trillede terningene.
Lag så en funksjon for en runde, som spør spilleren om å gjette, triller terninger, og returnerer poengsummen for den runden.
%% Cell type:code id: tags:
``` python
# Skriv kode her
```
%% Cell type:markdown id: tags:
#### Oppgave 10 (3/3)
Til slutt vil vi ha mulighet til å spille hele spillet
Husk: main() kaller de andre funksjonene og står for kommunikasjon med bruker
Spør spilleren først hvor mange runder hen vil spille, og kjør så gjennom <antall> mange runder. Hold kontroll på poengsummen til brukeren, og skriv den ut til slutt.