You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »

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++

Oppgave 2 - For-løkke

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

Oppgave 3 - While-løkke

from random import randint
ikkesyv = True
while (ikkesyv):
    x = randint(0,10)
    if (x != 7):
        print(x)
    else:
        ikkesyv = False

Oppgave 4 For-løkker

  1.  

     

    def neg_or_pos(list):
    	for i in range(0,len(list)):
    		list[i] = (list[i]>=0)
    	return(list)
     
    print(neg_or_pos([-4,5,3,9,3,-3,-8,8]))
     
    # Alternativt
    def neg_to_pos(list):
    	for i in range(0,len(list)):
    		if (list[i]>=0):
    			list[i] = 1
    		else:
    			list[i] = 0
    	return(list)
    
    print(neg_or_pos([-4,5,3,9,3,-3,-8,8]))
  2.  

     

    sum = 0
    	for j in range (0,len(list)):
    	sum+=list(i)
    
    print sum
     
    # Alternativt
    sum(x for x in list)

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.')
		break
	elif (len(passord1) != len(passord2)):
		print('Passordene har ulik lengde!')
		break
	# Sammenligner ASCII-verdi. a har en mindre verdi enn b i ASCII-tabellen. a = 97 og b = 98 f. eks.
	if passord1 > passord2:
		print('Passord 2 kommer for passord 1 i alfabetet')
	else:
		print('Passord 1 kommer for 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(produkt)
    if produkt > 70:
        break

Oppgave 7 - Speedometer

def kmhToMph(kmh):
    return kmh / 1.6
for i in range(10,110,10):
    print(i,'km/t =',kmhToMph(i),'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]]	
     
    max = -float('Inf')
    for i in range(0,len(matrix)):
    	for j in range(0,len(matrix[i])):
    		if (matrix[i][j] > max):
    			max = matrix[i][j]
     
    print(max)

Oppgave 9 - Badekaret

capacity = 20
currentLevel = 5
while currentLevel < capacity:
    currentLevel += 1    
    print('Current water level is', currentLevel, 'liters.')
print('The bath is full and contains', currentLevel, 'litres.')

Oppgave 10 - 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 = x - 1
    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)

Oppgave 11 - Sum av gangetabellen

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

Oppgave 12 - Sum av tall

def sumAvTall(n):
    sum = 0
    for i in range(1,n+1):
        sum += i
    return sum
n = 0
x = 0
while x < 500:
    n += 1
    x = sumAvTall(n)
print(n,'is the smallest number whose sum of preceeding numbers and itself is larger than 500')

Oppgave 13 - 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

 

 

 

  • No labels