Oppgave 1 - Teori løkker

  1. for i in range (start,slutt):
           print i 

  2. Man bruker helst for løkker når man vet hvilke verdier man skal iterere over. Hvis dette er ukjent, for eksempel ved "fortsett så lenge brukerinput ikke er 0", da må man benytte while løkke.

  3. i = 0
    while (i<6):
    	print(i)
    	i+=1

Oppgave 2 - For-løkke

# printer tekst 20 ganger
for i in range(0,20):
    print("Bolton Wanderers!")

Oppgave 3 - While-løkke

tall = int(input("Skriv inn et tall: "))
print(tall)
while tall!=7:
    tall = int(input("Skriv inn et tall: "))
    print(tall)

Oppgave 4 For-løkker

  1. liste = [-4,5,3,9,3,-3,-8,8]
     
    for i in range(0,len(liste)):
    	if (liste[i]>=0):
    		liste[i] = 1
    	else:
    		liste[i] = 0
    print(liste)
  2. liste = [-4,5,3,9,3,-3,-8,8]
    summ = 0
    for i in range (0,len(liste)):
    	summ+=liste[i]
    print(summ)
     
     
    #alternativt
    liste = [-4,5,3,9,3,-3,-8,8]
    summ = 0
    for el in liste:
        summ += el
    print(summ)

Oppgave 5 - Passord

while True:
    passord1 = input('Skriv inn ditt passord--> ')
    passord2 = input('Skriv inn ditt passord på nytt--> ')
    
    if passord1 == passord2:
        print('Passordene er like.')
    elif len(passord1) != len(passord2):
        print('Passordene har ulik lengde!')
    # Sammenligner ASCII-verdi. a har en mindre verdi enn b i ASCII-tabellen. a = 97 og b = 98 f. eks.
    elif passord1 > passord2:
        print('Passord 2 kommer før passord 1 i alfabetet')
    else:
        print('Passord 1 kommer før passord 2 i alfabetet')

Oppgave 6 - Produkt

from random import randint
while True:
    tall1 = randint(1,10)
    tall2 = randint(1,10)
    produkt = tall1 * tall2
    print(tall1,'*',tall2,'=',produkt)
    if produkt >= 70:
        break
 
#alternativt
from random import randint
prod = 0
while prod < 70:
    x = randint(1,10)
    y = randint(1,10)
    prod = x*y
    print(x,"*",y,'=',prod)

Oppgave 7 - Speedometer

def to_mph(kmt):
    return kmt/1.6

for kmt in range(10,111,10):
    print(kmt,"km/t =",to_mph(kmt),"mph")

Oppgave 8 - Doble for-løkker

  1. matrix = [[1,3,-3,5,23],[23,1,34,13,32],[33,67,64,5,-9],[46,-6,6,64,8],[2,3,19,12,-4]]	
    
  2. matrix = [[1,3,-3,5,23],[23,1,34,13,32],[33,67,64,5,-9],[46,-6,6,64,8],[2,3,19,12,-4]]	
     
    for k in range(0,len(matrix)):
    	for t in range(0,len(matrix[k])):
    		if (matrix[k][t]<0):
    			matrix[k][t]*= -1
    print(matrix)


  3. matrix = [[1,3,-3,5,23],[23,1,34,13,32],[33,67,64,5,-9],[46,-6,6,64,8],[2,3,19,12,-4]]	
     
    maks = -float('Inf')
    for i in range(0,len(matrix)):
    	for j in range(0,len(matrix[i])):
    		if (matrix[i][j] > maks):
    			maks = matrix[i][j]
     
    print(maks)

Oppgave 9 - Badekaret

capacity = 20
currentLevel = 5
while currentLevel < capacity:    
    print('Badekaret har', currentLevel, 'liter vann.')
	currentLevel += 1
print('Badekaret er fullt.')


Oppgave 10 - Sum av gangetabellen

summ = 0
for i in range(1,11):
    for j in range(1,11):
        summ += i * j

print(summ)

Oppgave 11 - Stigende sekvenser

import sys
j = 1
for i in range(1,11):
    k = 1
    while k <= j:
        sys.stdout.write(str(k) + ' ')
        k += 1
        i += 1
    j += 1
    print()

Oppgave 12 - Sjakkbrett

def checkColorOfChessboard(x,y):
    # we define a chessboard using nested arrays
    # b means black, and w means white
    board = [['w','b','w','b','w','b','w','b'],
            ['b','w','b','w','b','w','b','w'],
            ['w','b','w','b','w','b','w','b'],
            ['b','w','b','w','b','w','b','w'],
            ['w','b','w','b','w','b','w','b'],
            ['b','w','b','w','b','w','b','w'],
            ['w','b','w','b','w','b','w','b'],
            ['b','w','b','w','b','w','b','w']]
    x2 = 8 - x
    y2 = y - 1
    if board[x2][y2] == 'w':
        print('Rute',str(x) + ','+ str(y),'er hvit')
    else:
        print('Rute',str(x) + ','+ str(y),'er svart')

for x in range(1,9):
    for y in range(1,9):
        checkColorOfChessboard(x,y)
 
 
#alternativ løsning:
def chess_board(x,y):
    if not (0<x<9 and 0<y<9):
        return "Ugyldig input"
    if x%2==1:
        if y%2==1:
            return "svart"
        return "hvit"
    if y%2==1:
        return "hvit"
    return "svart"

for i in range(1,9):
    for j in range(1,9):
        print("Rute",str(i)+','+str(j),"er",chess_board(i,j))

 

 

  • No labels