Commit b4b151c3 authored by Børge Haugset's avatar Børge Haugset

IKKE ferdig, bare bytte mellom maskiner

parent 86bccbd4
# Denne koden er ikke ferdig! Det jobbes med ukens kode!
# Helt først: Bare ett land og en by
land = 'Norge'
by = 'Oschlo'
gjettet = input(f'Hovedstanden i {land}? ')
if gjettet == by:
print("UDAMAN")
else:
print('tihihihih!')
# Men hva om vi ønsker å gjøre om dette så det støtter flere land og
# hovedsteder? Da er lister en perfekt ting!
alle_land = ['Norge', 'Sverige', 'Danmark', 'Tyskland']
alle_hovedsteder = ['Oslo', 'Stockholm', 'København', 'Berlin']
# Vi kan trekke ut et tilfeldig tall fra 0 - lengden av alle_land -1:
import random
tilfeldig_tall = random.randint(0, len(alle_land) -1) # hvorfor minus 1?
gjettet = input(f'Hovedstanden i {alle_land[tilfeldig_tall]}? ')
if gjettet == alle_hovedsteder[tilfeldig_tall]:
print("UDAMAN")
else:
print('tihihihih!')
# Vi kan gå igjennom alle
import random
tilfeldig_tall = random.randint(0, len(alle_land) -1) # hvorfor minus 1?
gjettet = input(f'Hovedstaden i {alle_land[tilfeldig_tall]}? ')
if gjettet == alle_hovedsteder[tilfeldig_tall]:
print("UDAMAN")
else:
print('tihihihih!')
# La oss leke oss litt med alle_land.
# Kan vi sortere landene?
# hvorfor er dette feil?: alle_land = alle_land.sort()
# Vi må heller bare skrive alle_land.sort()
# Vi kan sjekke om et land er med i listen:
print(f'Norge er i alle_land: {"Norge" in alle_land}')
print(f'Norge er i alle_land: {"Sveits" in alle_land}')
# Husker dere at en kunne kose seg med :: i range og slikt? Gjett hva.
# man kan gjøre sånt med lister også! Det kalles slicing
print(f'De første to landene er {alle_land[:2]}')
print(f'De første to landene Land i motsatt rekkefølge: {alle_land[::-1]}')
# Dagens oppgave: jeg skal lage en spørrekonkurranse der jeg spør om hovedstaden i et land,
# og sjekker om det svares rett.
# Del 1: gjøre det med bare ett land og hovedstad
# Del 2: gjøre det med flere land og hovedsteder
# Del 3:
def legg_sammen(tall1, tall2):
return tall1 + tall2
# Moduler
# En fil som slutter på .py, og som inneholder funksjoner. Men ikke kall til dem.
# Brukes slik:
import minmodul
print(minmodul.legg_sammen(2,3))
# Vi kan bruke masse eksisterende moduler for ting (kjemi, fysikk, geografi, AI,
# bildemanipulerin, alt mulig.)
# Vi kan også lage dem selv! Men ikke kall ting det samme som eksisterende nøkkeluttrykk
# Funksjoner:
# De kan returnere spesifikke ting, eller de kan gjøre en jobb og så ikke returnere noe
# vi trenger. Funksjoner fyller ulike behov. Noen må ha parametre, andre ikke. Og du kan lage
# dem selv. Men ikke kall dem det samme som eksisterende ting, da kan du overskygge det gamle.
# Vi var også innom måten variable som er definert inni en funksjon lever sitt liv kun der.
# Viste såvidt at en kan definere en variabel som 'global', og da kan en endre på den. Men
# dette er ikke spesielt lurt. Det er bedre å endre verdier gjennom retur.
def romersiffer (n, entegn, femtegn, titegn):
# returnerer romertall som svarer til n med spesifiserte tegn for 1, 5 og 10
# Dette gjelder uansett om vi ser på enere, tiere eller hundrere -
# prinsippet er akkurat det samme. Det eneste som er ulikt er tegnene vi bruker.
if n==0: return ''
elif n==1: return entegn
elif n==2: return entegn+entegn
elif n==3: return entegn+entegn+entegn
elif n==4: return entegn+femtegn
elif n==5: return femtegn
elif n==6: return femtegn+entegn
elif n==7: return femtegn+entegn+entegn
elif n==8: return femtegn+entegn+entegn+entegn
elif n==9: return entegn+titegn
else: return 'ERROR!!!!!'
def romertall(n):
# returere romertall fra 0 til 999
r = '' # romertallet som streng
if n>999 or n<0: return 'Tallet for stort eller lite'
elif n>99:
# Nå må vi finne ut hvor mange hundrere det er i tallet
# n // 100 gir svaret!
# Vi legger til romersiffer(svaret av hundrerne som tall, og tegnene for
# 100, 500 og 1000)
r = r +romersiffer(n//100,'C','D','M')
# Med n = 952 vil en her kalle romersiffer med 900, og r blir 'CM'
# Nå må vi trekke fra hundrene
# Hvis n egentlig er 952 vil neste linje omgjøre den til 52
n = n - (n//100)*100 # Fjerner hundreplassen
# Utvider strengen med romersiffer, nå med hvor mange tiere vi har
# 52//10 = 5. Siden det er tierne vi ser på må vi kalle romersiffer
# med tegnene 'X', 'L' og 'C'
r = r + romersiffer(n//10,'X','L','C') # Tierplassen
# Starter vi med tallet 952 vil vi her ende opp med r = 'CM' + 'L' = 'CML'
# Siste del: sette inn enerne. Hvor mange? n%10 gir resten:
# 52%10 gir 2.
r = r + romersiffer(n%10,'I','V','X') # Enerplassen
# Starter vi med tallet 952 vil vi her ende opp med r = 'CML' + 'II' = 'CMLII'
return r # returnerer hele strengen. inn 952, ut
n = 0
while n>=0:
n = int(input('Tall mellom 0 og 999 '))
r = romertall(n)
print('Romertall for ',n,' er',r)
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment