Lösningsförslag
Kap 1.3 – Fyller 100 år
Ett exempel på hur övningen kan lösas med tydliga funktioner och ett samlat huvudflöde.
Uppgiften
- Fråga efter användarens namn och ålder.
- Beräkna vilket år personen fyller 100 år.
- Skriv ut ett personligt meddelande.
Lösningsförslag
from datetime import date
def get_name():
return input("Vad heter du? ")
def get_age():
return int(input("Hur gammal är du? "))
def calculate_year_turns_100(age):
current_year = date.today().year
years_left = 100 - age
return current_year + years_left
def print_message(name, year):
print(f"Hej {name}!")
print(f"Du fyller 100 år under år {year}.")
def main():
name = get_name()
age = get_age()
year = calculate_year_turns_100(age)
print_message(name, year)
main()
Vad lösningen visar
get_name()ansvarar bara för att hämta namnet.get_age()ansvarar bara för att hämta åldern och göra den till ett heltal.calculate_year_turns_100()ansvarar bara för beräkningen.print_message()ansvarar bara för utskriften.main()samlar programmets huvudflöde.
Exempel på körning
Vad heter du? Anna
Hur gammal är du? 17
Hej Anna!
Du fyller 100 år under år 2109.
Obs: Årtalet i exemplet beror på vilket år programmet körs.
Programmet hämtar aktuellt år med date.today().year.
Ladda ner lösningsförslaget: kap1-3-100-ar-losningsforslag.py