rolfvanoven

troglodiet dag 8AB

Dec 8th, 2021 (edited)
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.08 KB | None | 0 0
  1. # bestand lezen en in stukjes hakken:
  2. bestand = open('input.txt', 'r')
  3. alles = bestand.readlines()
  4. input = []
  5. for x in range(len(alles)):
  6.   alles[x] = alles[x].replace('\n', '')  
  7. for x in range(len(alles)):
  8.   alles[x] = alles[x].split(' | ')
  9. for x in range(len(alles)):
  10.   alles[x][0] = alles[x][0].split(' ')
  11. for x in range(len(alles)):
  12.   alles[x][1] = alles[x][1].split(' ')
  13.  
  14. #antwoord op vraag A berekenen:
  15. legalelengtes = [2,3,4,7]
  16. antwoord = 0
  17. for x in range(len(alles)):
  18.   for y in range(4):
  19.     for z in range(4):
  20.       if len(alles[x][1][y]) == legalelengtes[z]:
  21.         antwoord = antwoord + 1        
  22. print(antwoord)
  23.  
  24. #letters sorteren:
  25. for x in range(len(alles)):
  26.   for y in range(2):
  27.     for z in range(len(alles[x][y])):
  28.       alles[x][y][z] = ''.join(sorted(alles[x][y][z]))
  29.  
  30. # de decode code aanmaken:
  31. decode = []
  32. for x in range(len(alles)):
  33.   decode.append([0,0,0,0,0,0,0,0,0,0])
  34.  
  35. # de 1,4,7,8 er in:
  36. for x in range(len(alles)):
  37.   for y in range(10):
  38.     if len(alles[x][0][y]) == 2:
  39.       decode[x][1] = alles[x][0][y]
  40.     elif len(alles[x][0][y]) == 4:
  41.       decode[x][4] = alles[x][0][y]
  42.     elif len(alles[x][0][y]) == 3:
  43.       decode[x][7] = alles[x][0][y]
  44.     elif len(alles[x][0][y]) == 7:
  45.       decode[x][8] = alles[x][0][y]
  46.  
  47. # de 069 er in:
  48. for x in range(len(alles)):
  49.   nulzesnegen = []
  50.   for y in range(10):
  51.     if len(alles[x][0][y]) == 6:
  52.       nulzesnegen.append(alles[x][0][y])
  53.     if len(alles[x][0][y]) == 2:
  54.       deeen = list(alles[x][0][y])
  55.   for y in range(3):
  56.     isditeenzes = False
  57.     isditeennegen = False
  58.     isditeennul = False
  59.     for z in range(2):
  60.       if deeen[z] not in nulzesnegen[y]:
  61.         isditeenzes = True
  62.     for z in range(4):
  63.       if decode[x][4][z] not in list(nulzesnegen[y]) and isditeenzes == False:
  64.         isditeennul = True
  65.     if isditeennul == False and isditeenzes == False:
  66.         isditeennegen = True
  67.     if isditeenzes:
  68.       decode[x][6] = nulzesnegen[y]
  69.     if isditeennul:
  70.       decode[x][0] = nulzesnegen[y]
  71.     if isditeennegen:
  72.       decode[x][9] = nulzesnegen[y]
  73.  
  74. #de 235 er in:
  75. for x in range(len(alles)):
  76.   tweedrievijf = []
  77.   for y in range(10):
  78.     if len(alles[x][0][y]) == 5:
  79.       tweedrievijf.append(alles[x][0][y])
  80.   for y in range(3):
  81.     isditeentwee = False
  82.     isditeendrie = False
  83.     isditeenvijf = True
  84.     for z in range(5):
  85.       if tweedrievijf[y][z] not in list(decode[x][6]):
  86.         isditeenvijf = False
  87.     for z in range(2):
  88.       if decode[x][1][z] not in list(tweedrievijf[y]) and isditeenvijf == False:
  89.         isditeentwee = True
  90.     if isditeentwee == False and isditeenvijf == False:
  91.       isditeendrie = True
  92.     if isditeentwee:
  93.       decode[x][2] = tweedrievijf[y]
  94.     if isditeendrie:
  95.       decode[x][3] = tweedrievijf[y]
  96.     if isditeenvijf:
  97.       decode[x][5] = tweedrievijf[y]
  98.      
  99. #oplossing uitrekenen:
  100. antwoord = 0
  101.  
  102. for x in range(len(alles)):
  103.   deze = ''
  104.   for y in range(4):
  105.     for z in range(10):
  106.       if alles[x][1][y] == decode[x][z]:
  107.         deze = deze + str(z)
  108.   antwoord = antwoord + int(deze)
  109.  
  110. print(antwoord)
Add Comment
Please, Sign In to add comment