from collections import namedtuple # Lager et navngitt tuple som holder persondataen vi trenger Person = namedtuple("Person", ["navn", "alder", "bosted"]) # Ber om brukerinput person1 = Person(navn= input("Navn p? person 1: ").lower(), alder= int(input("Alder til person 1: ")), bosted= input("Bosted til person 1: ")) person2 = Person (navn= input("Navn p? person 2: ").lower(), alder= int(input("Alder til person 2: ")), bosted= input("Bosted til person 2: ")) match = 0 # Sjekk om navnene er like lange if len(person1.navn) == len(person2.navn): match = 60 # begynner de med samme forbokstav? elif person1.navn[0] == person2.navn[0]: match = 40 else: match = 15 # Oppgave 2 if person1.bosted == person2.bosted: match = match * 1.5 # Finner ut hva som er den h?yeste alderen. alderh?y = max(person1.alder, person2.alder) alderlav = min(person1.alder, person2.alder) if alderh?y < (alderlav / 2) + 7: match = match / 2 elif alderlav == alderh?y: match = match * 1.1 # Oppgave 3 # Her bruker vi & for ? ta snittet av de to mengedene {a, t} og bokstavene navnene best?r av. Dette er det samme som set.intersection(navn) # !!Obs en tom mengde er False, har det innhold er det True if {'a', 't'} & person1.navn or {'a', 't'} & person2.navn: match = match + 2 # Her kan man og bruke en mengde hvis man vil if ("s" in person1.navn and "e" in person1.navn and "e" not in person2.navn) or ("s" in person2.navn and "e" in person2.navn and "e" not in person1.navn): match = match + 15 if person1.navn[0] not in person2.navn: match = match - 20 if person1.navn[-1] == person2.navn[0] or person2.navn[-1] == person1.navn[0]: match = match + 30 if len(person1.navn) == 1 or len(person2.navn) == 1: match = 0 # Avrunder til n?rmeste heltall match = round(match) # Konverterer til en gyldig prosent match = match if match < 100 else 100 match = match if match > 0 else 0 print("Match mellom ", person1.navn, "og", person2.navn, "er", match, "%")