Du er ikke logget inn. Så lenge du ikke er logget inn går du glipp av muligheten for å holde styr på din egen progresjon.

Valgte tags:

Filtrering:

03.04 Fakta om land

I denne øvelsen skal vi lagre flere fakta om land. For hvert land lagrer vi navnet på hovedstaden, språket og antall innbyggere. Du kan velge dine egne land, men noen eksempler er gitt her:

  • Norge, Oslo, norsk, 5391369
  • Nederland, Amsterdam, nederlandsk, 17282163
  • Spania, Madrid, spansk, 46733038

a) Lag tre ordbøker. Navnene på landene bør være nøklene i alle ordbøker. I den første ordboken er hovedstadene verdiene. I den andre ordboken er språk verdiene. Og i den tredje ordboken er antall innbyggere verdiene.

b) Be brukeren om et land, og skriv ut fakta om landet som finnes i de tre ordbøkene. Skriv ut en advarsel hvis landet ikke vises i ordbøkene

c) Utfordring: Tenk på en annen mulig måte at dataene i denne øvelsen kan lagres på, og prøv å implementere denne løsningen også. Flere svar kan være riktige.

Hint

  Du kan nøste samlinger, dvs. sette en samling i en annen.


a)

hovedstad = {"Norge": "Oslo", 
             "Nederland": "Amsterdam", 
             "Spania": "Madrid"}
spraak = {"Norge": "norsk", 
          "Nederland": "nederlandsk", 
          "Spania": "spansk"}
innbyggere = {"Norge": 5391369, 
              "Nederland": 17282163, 
              "Spania": 46733038}

b)

land = input("Gi navnet på et land: ")

# Anta at alle land i ordboken 'hovedstad' også er i de andre ordbøker
if land in hovedstad:
    print("Hovedstaden til", land, "er", hovedstad[land])
    print("I", land, "snakker folk", spraak[land])
    print(land, "har", innbyggere[land],  "innbyggere")
else:
    print("Jeg kjenner ikke dette landet!")

c) Flere svar kan være riktige.

Man kan ha en nøstet ordbok der den ytre ordboken representerer landene:

fakta = {"Norge": {
            "hovedstad": "Oslo",
            "spraak": "Norsk",
            "innbyggere": 5391369},
        "Nederland": {
            "hovedstad": "Amsterdam",
            "spraak": "Nederlandsk",
            "innbyggere": 17282163},
        "Spania": {
            "hovedstad": "Madrid",
            "spraak": "Spansk",
            "innbyggere": 46733038},
        }

land = input("Gi navnet på et land: ")

if land in fakta:
    print("Hovedstaden til", land, "er", fakta[land]["hovedstad"])
    print("I", land, "snakker folk", fakta[land]["spraak"])
    print(land, "har", fakta[land]["innbyggere"],  "innbyggere")
else:
    print("Jeg kjenner ikke dette landet!")