Oppgave 1
def minsteTall(a,b): if a < b: return a elif b < a: return b else: return a; def minsteAvTreTall(a,b,c): if a < b && a < c: return a elif b < a && b < c: return b elif c < a && c < b: return c else: if a == b: return a elif a == c: return a elif b == c: return b #Om vi kommer ned hit betyr det at alle tallene er like else: return a #En bedre løsning som benytter en liste def minsteAvTreTallList(a,b,c): liste = [a,b,c] minste = a; for tall in liste: if tall < minste: minste = tall return minste
Oppgave 2
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 3
from random import randint def lagVerb(): verb = ['går','spiser','tuller','hopper','leker'] #henter ut et tilfeldig verb fra listen return verb[randint(0,len(verb)-1)] def lagNavn(): navn = ['Martin','Lise','Bob','Max','Balle'] #henter ut et tilfeldig navn fra listen return navn[randint(0,len(navn)-1)] def lagAdverb(): adverb = ['fort','sakte','rart','teit','glimrende'] #henter ut et tilfeldig adverb fra listen return adverb[randint(0,len(adverb)-1)] def lagSetning(): return lagNavn() + ' ' + lagVerb() + ' ' + lagAdverb() i = 0 while i < 10: print(lagSetning()) i += 1
Oppgave 4
def kmhToMph(kmh): return kmh / 1.6 for i in range(10,110,10): print(i,'km/t =',kmhToMph(i),'mph')
Oppgave 5
from random import randint while True: tall1 = randint(1,10) tall2 = randint(1,10) produkt = tall1 * tall2 print(produkt) if produkt > 70: break
Oppgave 6
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 7
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 8
sum = 0 for i in range(1,11): for j in range(1,11): sum += i * j print(sum)
Oppgave 9
def sumOfNumbers(n): sum = 0 for i in range(1,n+1): sum += i return sum n = 0 x = 0 while x < 500: n += 1 x = sumOfNumbers(n) print(n,'is the smallest number whose sum of preceeding numbers and itself is larger than 500')
Oppgave 10
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()