raspeball

palindromedates

Feb 1st, 2022
1,422
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.57 KB | None | 0 0
  1. import datetime
  2.  
  3. def FormatDate(year, month, day):
  4.     # funksjonen tar inn år, måned, dag
  5.     # og bruker date til å returnere
  6.     # en string på formen ddmmyyyy, som er vanlig notasjon
  7.     # strftime formaterer date-objektet til denne formen
  8.  
  9.     form_date = datetime.date(year, month, day).strftime("%d%m%Y")
  10.  
  11.     return form_date
  12.  
  13.  
  14. def IsPalinDate(date_string):
  15.     # funksjonen tar inn en streng og sjekker om strengen
  16.     # er lik forlengs og baklengs
  17.     # funksjonen returnerer True hvis det stemmer; False ellers
  18.  
  19.     return date_string == date_string[::-1]
  20.  
  21.  
  22. def PalinDatesCentury():
  23.     # funksjonen er veldig "enkel" i den forstand
  24.     # at den bruker trippel for til å kalle de to første funksjonene
  25.     # på alle datoer i inneværende århundre
  26.     # for å sjekke om de er palindromer
  27.     # veldig brute force, altså
  28.  
  29.     for y in range(2000, 2100): # inneværende århundre
  30.         for m in range(1, 13): # måneder
  31.             for d in range(1, 32): # dager
  32.                 try:
  33.                     if IsPalinDate(FormatDate(y, m, d)):
  34.                         date_print = datetime.date(y, m, d).strftime("%d-%m-%Y")
  35.                         print(f"{date_print} er palindromdato")
  36.                     else:
  37.                         continue
  38.                 except ValueError:
  39.                     continue
  40.                     #
  41.                 #
  42.             #
  43.         #
  44.     #
  45. #
  46.  
  47. def main():
  48.     # kjører programmet ved å kalle PalinDatesCentury
  49.     PalinDatesCentury()
  50.  
  51. # kjører programmet
  52. if __name__ == "__main__":
  53.     main()
  54.  
Advertisement
Add Comment
Please, Sign In to add comment