''' finni med for Skriv den samme funksjonen som i forrige oppgave, men bruk ei for-l?kke i stedet for while-l?kke. Funksjonen skal, gitt de samme argumentene, returnere samme verdi som finni-funksjonen nedenfor. Du trenger ikke ta med assert-setningene og bruk gjerne kortere parameter- og variabelnavn for ? spare tid. ''' # denne var gitt def finni(let_etter_dette, i_ordbok): assert type(i_ordbok) is dict assert len(i_ordbok) > 0 funnet = False n?kler = list(i_ordbok.keys()) utenfor = len(n?kler) == 0 i = 0 while not funnet and not utenfor: n?kkel = n?kler[i] innholdsverdi = i_ordbok[n?kkel] if innholdsverdi == let_etter_dette: funnet = True else: i+=1 utenfor = i >= len(n?kler) - 1 # NB! denne f?r ikke med siste n?kkelverdi! utenfor = i >= len(n?kler) # Denne er riktig, men p? eksamen stod tilordningen ovenfor utenfor = i > len(n?kler) -1 # Denne er ekvavilent med tilordningen ovenfor # if funnet: return n?kkel else: return None # L?sningsforslag oppgave 10 # 4 setninger, 4 poeng def finni_med_for(let_etter_dette, i_ordbok): for n?kkel in i_ordbok: # 1p if i_ordbok[n?kkel] == let_etter_dette: # 1p return n?kkel # 1p return None # 1p # Resten er testing, ikke del av oppgaven kommuner = {'0301': 'Oslo', '1101': 'Eigersund', '1103': 'Stavanger', '1106': 'Haugesund', '1108': 'Sandnes', '1111': 'Sokndal', '1112': 'Lund', '1114': 'Bjerkreim', '1119': 'H?', '1120': 'Klepp', '1121': 'Time', '1122': 'Gjesdal', '1124': 'Sola', '1127': 'Randaberg', '1130': 'Strand', '1133': 'Hjelmeland', '1134': 'Suldal', '1135': 'Sauda', '1144': 'Kvits?y', '1145': 'Bokn', '1146': 'Tysv?r', '1149': 'Karm?y', '1151': 'Utsira', '1160': 'Vindafjord', '1505': 'Kristiansund', '1506': 'Molde', '1508': '?lesund', '1511': 'Vanylven', '1514': 'Sande', '1515': 'Her?y', '1516': 'Ulstein', '1517': 'Hareid', '1520': '?rsta', '1525': 'Stranda', '1528': 'Sykkylven', '1531': 'Sula', '1532': 'Giske', '1535': 'Vestnes', '1539': 'Rauma', '1547': 'Aukra', '1554': 'Aver?y', '1557': 'Gjemnes', '1560': 'Tingvoll', '1563': 'Sunndal', '1566': 'Surnadal', '1573': 'Sm?la', '1576': 'Aure', '1577': 'Volda', '1578': 'Fjord', '1579': 'Hustadvika', '1580': 'Haram', '1804': 'Bod?', '1806': 'Narvik', '1811': 'Bindal', '1812': 'S?mna', '1813': 'Br?nn?y', '1815': 'Vega', '1816': 'Vevelstad', '1818': 'Her?y', '1820': 'Alstahaug', '1822': 'Leirfjord', '1824': 'Vefsn', '1825': 'Grane', '1826': 'Aarborte - Hattfjelldal', '1827': 'D?nna', '1828': 'Nesna', '1832': 'Hemnes', '1833': 'Rana', '1834': 'Lur?y', '1835': 'Tr?na', '1836': 'R?d?y', '1837': 'Mel?y', '1838': 'Gildesk?l', '1839': 'Beiarn', '1840': 'Saltdal', '1841': 'Fauske - Fuossko', '1845': 'S?rfold', '1848': 'Steigen', '1851': 'L?dingen', '1853': 'Evenes - Even¨˘??i', '1856': 'R?st', '1857': 'V?r?y', '1859': 'Flakstad', '1860': 'Vestv?g?y', '1865': 'V?gan', '1866': 'Hadsel', '1867': 'B?', '1868': '?ksnes', '1870': 'Sortland - Suort¨˘', '1871': 'And?y', '1874': 'Moskenes', '1875': 'H¨˘bmer - Hamar?y', '3101': 'Halden', '3103': 'Moss', '3105': 'Sarpsborg', '3107': 'Fredrikstad', '3110': 'Hvaler', '3112': 'R?de', '3114': 'V?ler', '3116': 'Skiptvet', '3118': 'Indre ?stfold', '3120': 'Rakkestad', '3122': 'Marker', '3124': 'Aremark', '3201': 'B?rum', '3203': 'Asker', '3205': 'Lillestr?m', '3207': 'Nordre Follo', '3209': 'Ullensaker', '3212': 'Nesodden', '3214': 'Frogn', '3216': 'Vestby', '3218': '?s', '3220': 'Enebakk', '3222': 'L?renskog', '3224': 'R?lingen', '3226': 'Aurskog-H?land', '3228': 'Nes', '3230': 'Gjerdrum', '3232': 'Nittedal', '3234': 'Lunner', '3236': 'Jevnaker', '3238': 'Nannestad', '3240': 'Eidsvoll', '3242': 'Hurdal', '3301': 'Drammen', '3303': 'Kongsberg', '3305': 'Ringerike', '3310': 'Hole', '3312': 'Lier', '3314': '?vre Eiker', '3316': 'Modum', '3318': 'Kr?dsherad', '3320': 'Fl?', '3322': 'Nesbyen', '3324': 'Gol', '3326': 'Hemsedal', '3328': '?l', '3330': 'Hol', '3332': 'Sigdal', '3334': 'Flesberg', '3336': 'Rollag', '3338': 'Nore og Uvdal', '3401': 'Kongsvinger', '3403': 'Hamar', '3405': 'Lillehammer', '3407': 'Gj?vik', '3411': 'Ringsaker', '3412': 'L?ten', '3413': 'Stange', '3414': 'Nord-Odal', '3415': 'S?r-Odal', '3416': 'Eidskog', '3417': 'Grue', '3418': '?snes', '3419': 'V?ler', '3420': 'Elverum', '3421': 'Trysil', '3422': '?mot', '3423': 'Stor-Elvdal', '3424': 'Rendalen', '3425': 'Engerdal', '3426': 'Tolga', '3427': 'Tynset', '3428': 'Alvdal', '3429': 'Folldal', '3430': 'Os', '3431': 'Dovre', '3432': 'Lesja', '3433': 'Skj?k', '3434': 'Lom', '3435': 'V?g?', '3436': 'Nord-Fron', '3437': 'Sel', '3438': 'S?r-Fron', '3439': 'Ringebu', '3440': '?yer', '3441': 'Gausdal', '3442': '?stre Toten', '3443': 'Vestre Toten', '3446': 'Gran', '3447': 'S?ndre Land', '3448': 'Nordre Land', '3449': 'S?r-Aurdal', '3450': 'Etnedal', '3451': 'Nord-Aurdal', '3452': 'Vestre Slidre', '3453': '?ystre Slidre', '3454': 'Vang', '3901': 'Horten', '3903': 'Holmestrand', '3905': 'T?nsberg', '3907': 'Sandefjord', '3909': 'Larvik', '3911': 'F?rder', '4001': 'Porsgrunn', '4003': 'Skien', '4005': 'Notodden', '4010': 'Siljan', '4012': 'Bamble', '4014': 'Krager?', '4016': 'Drangedal', '4018': 'Nome', '4020': 'Midt-Telemark', '4022': 'Seljord', '4024': 'Hjartdal', '4026': 'Tinn', '4028': 'Kviteseid', '4030': 'Nissedal', '4032': 'Fyresdal', '4034': 'Tokke', '4036': 'Vinje', '4201': 'Ris?r', '4202': 'Grimstad', '4203': 'Arendal', '4204': 'Kristiansand', '4205': 'Lindesnes', '4206': 'Farsund', '4207': 'Flekkefjord', '4211': 'Gjerstad', '4212': 'Veg?rshei', '4213': 'Tvedestrand', '4214': 'Froland', '4215': 'Lillesand', '4216': 'Birkenes', '4217': '?mli', '4218': 'Iveland', '4219': 'Evje og Hornnes', '4220': 'Bygland', '4221': 'Valle', '4222': 'Bykle', '4223': 'Vennesla', '4224': '?seral', '4225': 'Lyngdal', '4226': 'H?gebostad', '4227': 'Kvinesdal', '4228': 'Sirdal', '4601': 'Bergen', '4602': 'Kinn', '4611': 'Etne', '4612': 'Sveio', '4613': 'B?mlo', '4614': 'Stord', '4615': 'Fitjar', '4616': 'Tysnes', '4617': 'Kvinnherad', '4618': 'Ullensvang', '4619': 'Eidfjord', '4620': 'Ulvik', '4621': 'Voss', '4622': 'Kvam', '4623': 'Samnanger', '4624': 'Bj?rnafjorden', '4625': 'Austevoll', '4626': '?ygarden', '4627': 'Ask?y', '4628': 'Vaksdal', '4629': 'Modalen', '4630': 'Oster?y', '4631': 'Alver', '4632': 'Austrheim', '4633': 'Fedje', '4634': 'Masfjorden', '4635': 'Gulen', '4636': 'Solund', '4637': 'Hyllestad', '4638': 'H?yanger', '4639': 'Vik', '4640': 'Sogndal', '4641': 'Aurland', '4642': 'L?rdal', '4643': '?rdal', '4644': 'Luster', '4645': 'Askvoll', '4646': 'Fjaler', '4647': 'Sunnfjord', '4648': 'Bremanger', '4649': 'Stad', '4650': 'Gloppen', '4651': 'Stryn', '5001': 'Trondheim - Tr?ante', '5006': 'Steinkjer', '5007': 'Namsos - N?avmesjenjaelmie', '5014': 'Fr?ya', '5020': 'Osen', '5021': 'Oppdal', '5022': 'Rennebu', '5025': 'Rosse - R?ros', '5026': 'Holt?len', '5027': 'Midtre Gauldal', '5028': 'Melhus', '5029': 'Skaun', '5031': 'Malvik', '5032': 'Selbu', '5033': 'Tydal', '5034': 'Mer?ker', '5035': 'Stj?rdal', '5036': 'Frosta', '5037': 'Levanger', '5038': 'Verdal', '5041': 'Sn?ase - Sn?sa', '5042': 'Lierne', '5043': 'Raarvihke - R?yrvik', '5044': 'Namsskogan', '5045': 'Grong', '5046': 'H?ylandet', '5047': 'Overhalla', '5049': 'Flatanger', '5052': 'Leka', '5053': 'Inder?y', '5054': 'Indre Fosen', '5055': 'Heim', '5056': 'Hitra', '5057': '?rland', '5058': '?fjord', '5059': 'Orkland', '5060': 'N?r?ysund', '5061': 'Rindal', '5501': 'Troms?', '5503': 'Harstad - H¨˘rstt¨˘k', '5510': 'Kv?fjord', '5512': 'Tjeldsund - Dielddanuorri', '5514': 'Ibestad', '5516': 'Gratangen', '5518': 'Loab¨˘k - Lavangen', '5520': 'Bardu', '5522': 'Salangen', '5524': 'M?lselv', '5526': 'S?rreisa', '5528': 'Dyr?y', '5530': 'Senja', '5532': 'Balsfjord', '5534': 'Karls?y', '5536': 'Lyngen', '5538': 'Storfjord - Omasvuotna - Omasvuono', '5540': 'G¨˘ivuotna - K?fjord - Kaivuono', '5542': 'Skjerv?y', '5544': 'Nordreisa - R¨˘isa - Raisi', '5546': 'Kv?nangen', '5601': 'Alta', '5603': 'Hammerfest - H¨˘mmerfeasta', '5605': 'S?r-Varanger', '5607': 'Vads?', '5610': 'K¨˘r¨˘?johka - Karasjok', '5612': 'Guovdageaidnu - Kautokeino', '5614': 'Loppa', '5616': 'Hasvik', '5618': 'M?s?y', '5620': 'Nordkapp', '5622': 'Porsanger - Pors¨˘?gu - Porsanki', '5624': 'Lebesby', '5626': 'Gamvik', '5628': 'Deatnu - Tana', '5630': 'Berlev?g', '5632': 'B?tsfjord', '5634': 'Vard?', '5636': 'Unj¨˘rga - Nesseby' } ordbok={'a':"aaa", 'b':'bbb', 'c':'ccc'} print(finni("Vard?", kommuner)) print(finni("bbb", ordbok)) print(finni("ccc", ordbok)) print(finni('Unj¨˘rga - Nesseby', kommuner)) print(finni_med_for('Unj¨˘rga - Nesseby', kommuner)) print(finni_med_for("bbb", ordbok)) print(finni_med_for("ccc", ordbok)) print(finni_med_for('Trondhjem', kommuner))