Advertisement
Guest User

Untitled

a guest
Jun 15th, 2019
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.32 KB | None | 0 0
  1.  
  2. materias = [
  3. #1 periodo
  4. {'codigo': 'CEL064', 'status': 'feito', 'dependencias': ['1p'], 'disp': 0},
  5. {'codigo': 'DCC119', 'status': 'feito', 'dependencias': ['1p'], 'disp': 0},
  6. {'codigo': 'DCC120', 'status': 'feito', 'dependencias': ['1p'], 'disp': 0},
  7. {'codigo': 'FIS122', 'status': 'feito', 'dependencias': ['1p'], 'disp': 0},
  8. {'codigo': 'MAT154', 'status': 'feito', 'dependencias': ['1p'], 'disp': 0},
  9. {'codigo': 'MAT155', 'status': 'feito', 'dependencias': ['1p'], 'disp': 0},
  10. {'codigo': 'QUI125', 'status': 'feito', 'dependencias': ['1p'], 'disp': 0},
  11. {'codigo': 'QUI126', 'status': 'feito', 'dependencias': ['1p'], 'disp': 0},
  12. #2 periodo
  13. {'codigo': 'EST028', 'status': 'nao-feito', 'dependencias': ['MAT154'], 'disp': 0},
  14. {'codigo': 'FIS073', 'status': 'nao-feito', 'dependencias': ['void'], 'disp': 0},
  15. {'codigo': 'FIS077', 'status': 'nao-feito', 'dependencias': ['FIS122'], 'disp': 0},
  16. {'codigo': 'MAT156', 'status': 'nao-feito', 'dependencias': ['MAT154', 'MAT155'], 'disp': 0},
  17. {'codigo': 'MAT158', 'status': 'nao-feito', 'dependencias': ['MAT155'], 'disp': 0},
  18. {'codigo': 'QUI162', 'status': 'nao-feito', 'dependencias': ['QUI126'], 'disp': 0},
  19. ]
  20.  
  21. materias_feitas = []
  22. materias_nao_feitas = []
  23. materias_disponiveis = []
  24.  
  25. def get_materias_feitas(materias):
  26.     for materia in materias:
  27.         if materia['status'] == 'feito':
  28.             materias_feitas.append(materia['codigo'])
  29.     return materias_feitas
  30.  
  31. def get_materias_nao_feitas(materias):
  32.     for materia in materias:
  33.         if materia['status'] == 'nao-feito':
  34.             materias_nao_feitas.append(materia['codigo'])
  35.     return materias_nao_feitas
  36.  
  37. def get_materias_disponiveis(materias, materias_feitas):
  38.     for materia in materias:
  39.         if materia['status'] == 'nao-feito':
  40.             flag = 0
  41.             for materia2 in range(len(materias_feitas)):
  42.                 for materia3 in range(len(materia['dependencias'])):
  43.                     if materias_feitas[materia2] == materia['dependencias'][materia3]:
  44.                         flag = flag + 1
  45.             if len(materia['dependencias']) == flag:
  46.                 materias_disponiveis.append(materia['codigo'])
  47.     return materias_disponiveis
  48.  
  49. get_materias_feitas(materias)
  50. get_materias_nao_feitas(materias)
  51. get_materias_disponiveis(materias, materias_feitas)
  52.  
  53. print(materias_disponiveis)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement