Oppgave 1 - Teori løkker
for i in range (start,slutt):
print i
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.
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
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])) % Eller: 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]))
sum = 0 for j in range (0,len(list)): sum+=list(i) print sum % Eller: 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
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]]
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)
def max_matrix(matrix): 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] return max mat = [[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]] print(max_matrix(mat))
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