Guest User

Untitled

a guest
Feb 19th, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.44 KB | None | 0 0
  1. #Oppgave 4 d og e
  2.  
  3. ukedag = ['mandag','tirsdag','onsdag','torsdag','fredag','lordag','sondag']
  4. maaned = ['januar','februar','mars','april','mai','juni','juli','august','september','oktober','november','desember']
  5. dager = [31,28,31,30,31,30,31,31,30,31,30,31]
  6. dager_sa = [31,29,31,30,31,30,31,31,30,31,30,31]
  7.  
  8. def skuddaar(n):
  9.     sa_liste=[]
  10.     while(n>1900):
  11.         if(n%400==0): sa_liste.append(n)
  12.         if(n%4==0 and n%100!=0): sa_liste.append(n)
  13.         n=n-1
  14.     return sa_liste
  15.  
  16. def dag_index(n):
  17.     sa = len(skuddaar(n-1))
  18.     ikke_sa = n-1900-sa
  19.     return (sa*2+ikke_sa)%7  
  20.  
  21. def erArbeidsdag(i,liste):
  22.     if i in liste: return True
  23.     else: return False
  24.    
  25. def listeArbeidsdager(n,liste):
  26.     ad_liste=[]
  27.     dag1 = dag_index(n)
  28.     i=0
  29.     if n in skuddaar(n):
  30.         for m in range(12):
  31.             for d in range(dager_sa[m]):
  32.                 j = (dag1+i)%7
  33.                 if erArbeidsdag(j,liste):
  34.                     ad_liste.append((ukedag[j],d+1,maaned[m],n))
  35.                 i+=1
  36.     else:
  37.         for m in range(12):
  38.             for d in range(dager[m]):
  39.                 j = (dag1+i)%7
  40.                 if erArbeidsdag(j,liste):
  41.                     ad_liste.append((ukedag[j],d+1,maaned[m],n))
  42.                 i+=1    
  43.     return ad_liste
  44.  
  45. n = input('Årstall:')
  46. liste = list(input('Arbeidsdager:'))
  47. for i in range(len(liste)):
  48.     liste[i]-=1
  49. for i in listeArbeidsdager(n,liste):
  50.     print i
Add Comment
Please, Sign In to add comment