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.

Logg inn

Valgte tags:

Filtrering:

Skriv ut:

10.01: Lite person-system

Lag et program som leser inn kommandoer fra terminalen.
Vi skal ha følgende kommando-muligheter:

  1. Ny person: En funksjon hvor vi leser inn navnet og alderen til en person og lagrer dette i en liste. Skal kun sette inn personen hvis personen ikke allerede er lagret i listen.
  2. Alle: Skriver ut personene (med navn og alder) som vi har lest inn fra terminalen.
  3. Slett: Sletter alle personene vi har lest inn.
Vis løsningsforslag
class Person:
    def __init__(self, navn, alder):
        self._navn = navn
        self._alder = alder

    def hent_alder(self):
        return self._alder

    def hent_navn(self):
        return self._navn


class Admin:
    def __init__(self):
        self._personer = []

    def sett_inn(self):
        navn = input("Oppgi navn: ")
        alder = input("Oppgi alder: ")
        finnes = False
        for p in self._personer:
            if p.hent_navn() == navn:
                finnes = True
                print(navn, "finnes fra før i listen!")
        if not finnes:
            self._personer.append(Person(navn, alder))

    def print_alle(self):
        if len(self._personer) == 0 : 
            print("Ingen personer i listen")
            return

        print("***")
        print("Alle personer:")
        for p in self._personer :
            print(p.hent_navn(), "-", p.hent_alder(), "år")
        print("***")

    def slett(self):
        self._personer = []
        print("Alle personer slettet.")

    def kommandolokke(self):
        while True :
            print("Oppgi kommando nr:")
            print("1. Sett inn ny person")
            print("2. Vis alle personer")
            print("3. Slett alle personer")
            print("4. Avslutt")

            inp = input("Valg: ")
            if inp == "1" :
                self.sett_inn()
            elif inp == "2":
                self.print_alle()
            elif inp == "3":
                self.slett()
            elif inp == "4":
                return
            else:
                print("Ugyldig valg")

a = Admin()
a.kommandoløkke()