Advertisement
Guest User

Untitled

a guest
Apr 18th, 2019
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.91 KB | None | 0 0
  1.  
  2. import sys
  3. from collections import namedtuple
  4.  
  5.  
  6. DA='DA'
  7. NU='NU'
  8.  
  9. Stare=namedtuple('stare',['camera','lumini', 'cutii','pe_cutie'])
  10.  
  11. si=Stare(2,[NU, DA, NU],[None, DA, NU],NU)
  12. sf=Stare(None,[DA, DA, DA],[DA, DA, DA],DA)
  13. #sf=Stare(None,[DA, DA, DA],[DA, DA, DA],None) #stare modificata
  14.  
  15. #print(si)
  16. #print(sf)
  17. #print(sf.pe_cutie)
  18.  
  19. def op_deplasare(stare):
  20. if stare.pe_cutie==DA:
  21. return []
  22. camere=[1,2,3]
  23. if stare.camera != None:
  24. del camere[stare.camera-1]
  25.  
  26.  
  27. stari_pred=[]
  28. for c in camere:
  29. stare_pred = Stare(c, stare.lumini[:], stare.cutii[:], NU)
  30. stari_pred.append((stare_pred, f'deplasare din {c} in {stare.camera} '))
  31.  
  32.  
  33. return stari_pred
  34.  
  35.  
  36. # sol=op_deplasare(sf)
  37. # for s in sol:
  38. # print(s)
  39.  
  40.  
  41. def op_lumini(stare):
  42.  
  43. if stare.pe_cutie == DA:
  44. return []
  45.  
  46. camere=[1,2,3]
  47. if stare.lumini != DA:
  48. camere=[1,2,3]
  49. for c in camere:
  50. if c == 1 :
  51. stare.lumini=
  52. stare_pred = Stare(c, , stare.cutii[:], DA)
  53. stari_pred.append((stare_pred, f'aprindere bec in camera {c} '))
  54.  
  55. return []
  56.  
  57. stari.lumini=[]
  58.  
  59. def op_mtarecutie(stare):
  60. if stare.pe_cutie == DA:
  61. return []
  62.  
  63. camere=[1,2,3]
  64. if stare.camera != None:
  65. camere=[stare.camera]
  66. stari_pred=[]
  67. for c in camere:
  68. if stare.cutii[c-1] ==NU:
  69. continue
  70. #cutie langa intrerupator/ none
  71. cutii = stare.cutii[:]
  72. cutii[c-1] = NU
  73. #pe_cutie nu
  74.  
  75. stare_pred = Stare(c, stare.lumini[:], cutii, NU)
  76. stari_pred.append((stare_pred, f'Mutare cutie in {c} '))
  77. return stari_pred
  78. sol=op_mtarecutie(sf)
  79. for s in sol:
  80. print(s)
  81. #print ("intra", camere) #print("intra", stare)
  82. #print(op_deplasare(sf))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement