Oppgave 1 - Kodeforståelse

a)

1. Koden summerer alle partall <= argumentet.

2. Printer summen av alle partall <= 11, altså 2+4+6+8+10 = 30

3. Summerer alle tall delelig med enten f eller l.

4. Funksjonen og dens parametere har navn som er vanskelig å tolke (bare bokstaver). Burde gitt mer forståelige navn.

5. Printer summen av alle tall < 10 som er delelig med 3 eller 5: 3+5+6+9=23

b)  

Funksjonen returnerer antall strengt stigende tall fra begynnelsen av listen.

1. 0

2. 2

3. 2

4. 3

Oppgave 2 - Skrive et større program

# -*- coding: utf-8 -*-
# Henter data fra fil
f = open('Tabell.txt','r')
TempTabell=f.readline()
hoydetabell=[]
# Setter data inn i liste og gjør om fra streng til integer
for line in f:
    newLine = line.split(',')
    for i in range(0,len(newLine)):
        newLine[i] = int(newLine[i])      
    hoydetabell.append(newLine)

def find2000(hoydetabell):
    maxhoyde = hoydetabell[0][0]
    maxhoydeKolonne = [0]
    maxhoydeRad = [0]
    for kolonne in range(0, len(hoydetabell[0])-1):
        for rad in range(0, len(hoydetabell)-1):
            if hoydetabell[rad][kolonne] > maxhoyde:
                maxhoyde = hoydetabell[rad][kolonne]
                maxhoydeRad = [rad]
                maxhoydeKolonne = [kolonne]
            elif hoydetabell[rad][kolonne] == maxhoyde:
                maxhoydeKolonne.append(kolonne)
                maxhoydeRad.append(rad)
            if hoydetabell[rad][kolonne]>=2000:
                print("I kolonne "+str(kolonne)+" og rad "+str(rad)+" finnes en topp med høyde "+str(hoydetabell[kolonne][rad]))
    print("Makshøyde var: "+str(maxhoyde))
    print("Koordinatene med maks høyde var ")
    for i in range(0,len(maxhoydeKolonne)):
        print(str(maxhoydeKolonne[i])+","+ str(maxhoydeRad[i]))
    return maxhoyde

find2000(hoydetabell)
# Høyeste topp var på 2100 m på koordinater (10,10)
  • No labels