-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add. projeto de CSP com Python + organização
- Loading branch information
Showing
210 changed files
with
5,838 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
137 changes: 137 additions & 0 deletions
137
projetos/projetos-de-ia/projeto-de-csp-bombeiros/CSP_Bombeiros.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,137 @@ | ||
# matriz de pessoas + quantidade de aparições | ||
pessoas = [] | ||
# atribuição dos valores do arquivo de entrada à matriz de pessoas | ||
with open("CSP_Bombeiros/entradas/entrada_1.txt", "r", encoding="ISO-8859-1") as arquivo: | ||
for linha in arquivo: | ||
linha = linha.strip() | ||
nome, valor = linha.split(", ") | ||
pessoas.append([nome, int(valor)]) | ||
|
||
|
||
# setores (linhas = horários, colunas = dias) | ||
incendio = [[0,2,4,6,8,10,12], | ||
[1,3,5,7,9,11,13]] | ||
|
||
socorro = [[14,16,18,20,22,24,26], | ||
[15,17,19,21,23,25,27]] | ||
|
||
telefone = [[28,30,32,34,36,38,40], | ||
[29,31,33,35,37,39,41]] | ||
#dia inicia em 0 = domingo e vai até 6 = sábado | ||
dia = 0 | ||
|
||
def atribuir_pessoas_setor(pessoas, setor, dia): | ||
for i in range(len(pessoas)): | ||
while pessoas[i][1] > 0 and dia < 7: | ||
if setor == incendio: # controle do setor de incêndio | ||
if (type(setor[0][dia]) == int) and (pessoas[i][0] not in [socorro[0][dia], telefone[0][dia]]): | ||
setor[0][dia] = pessoas[i][0] | ||
pessoas[i][1] -= 1 | ||
if (type(setor[0][dia]) != int and type(setor[1][dia]) != int): | ||
if all(pessoas[i][0] == x for x in [setor[0][dia], setor[1][dia]]): | ||
dia += 1 | ||
else: | ||
dia = 0 | ||
atribuir_pessoas_setor(pessoas, socorro, dia) | ||
break | ||
elif (type(setor[1][dia]) == int) and (pessoas[i][0] not in [socorro[1][dia], telefone[1][dia]]): | ||
setor[1][dia] = pessoas[i][0] | ||
pessoas[i][1] -= 1 | ||
if (type(setor[0][dia]) != int and type(setor[1][dia]) != int): | ||
if all(pessoas[i][0] == x for x in [setor[0][dia], setor[1][dia]]): | ||
dia += 1 | ||
else: | ||
dia = 0 | ||
atribuir_pessoas_setor(pessoas, socorro, dia) | ||
break | ||
else: | ||
dia += 1 | ||
atribuir_pessoas_setor(pessoas, socorro, dia) | ||
break | ||
elif setor == socorro: # controle do setor de socorro | ||
if (type(setor[0][dia]) == int) and (pessoas[i][0] not in [incendio[0][dia], telefone[0][dia]]): | ||
setor[0][dia] = pessoas[i][0] | ||
pessoas[i][1] -= 1 | ||
if (type(setor[0][dia]) != int and type(setor[1][dia]) != int): | ||
if all(pessoas[i][0] == x for x in [setor[0][dia], setor[1][dia]]): | ||
dia += 1 | ||
else: | ||
dia = 0 | ||
atribuir_pessoas_setor(pessoas, telefone, dia) | ||
break | ||
elif (type(setor[1][dia]) == int) and (pessoas[i][0] not in [incendio[1][dia], telefone[1][dia]]): | ||
setor[1][dia] = pessoas[i][0] | ||
pessoas[i][1] -= 1 | ||
if (type(setor[0][dia]) != int and type(setor[1][dia]) != int): | ||
if all(pessoas[i][0] == x for x in [setor[0][dia], setor[1][dia]]): | ||
dia += 1 | ||
else: | ||
dia = 0 | ||
atribuir_pessoas_setor(pessoas, telefone, dia) | ||
break | ||
else: | ||
dia += 1 | ||
atribuir_pessoas_setor(pessoas, telefone, dia) | ||
break | ||
else: # controle do setor de telefone | ||
if (type(setor[0][dia]) == int) and (pessoas[i][0] not in [incendio[0][dia], socorro[0][dia]]): | ||
setor[0][dia] = pessoas[i][0] | ||
pessoas[i][1] -= 1 | ||
if (type(setor[0][dia]) != int and type(setor[1][dia]) != int): | ||
if all(pessoas[i][0] == x for x in [setor[0][dia], setor[1][dia]]): | ||
dia += 1 | ||
else: | ||
dia = 0 | ||
atribuir_pessoas_setor(pessoas, incendio, dia) | ||
break | ||
elif (type(setor[1][dia]) == int) and (pessoas[i][0] not in [incendio[1][dia], socorro[1][dia]]): | ||
setor[1][dia] = pessoas[i][0] | ||
pessoas[i][1] -= 1 | ||
if (type(setor[0][dia]) != int and type(setor[1][dia]) != int): | ||
dia += 1 | ||
atribuir_pessoas_setor(pessoas, incendio, dia) | ||
break | ||
else: | ||
dia += 1 | ||
atribuir_pessoas_setor(pessoas, incendio, dia) | ||
break | ||
|
||
|
||
# imprimir horário do setor | ||
def mostrar_setor(setor): | ||
print("|DOM______|SEG______|TER______|QUA______|QUI______|SEX______|SAB______|") | ||
for l in range(len(setor)): | ||
for c in range(len(setor[0])): | ||
if c < len(setor[0]) - 1: | ||
if type(setor[l][c]) != int: | ||
print(f"|{setor[l][c]}", end='') | ||
elif type(setor[l][c]) == int and setor[l][c] < 10: | ||
print(f"|{setor[l][c]}________", end='') | ||
else: | ||
print(f"|{setor[l][c]}_______", end='') | ||
else: | ||
if type(setor[l][c]) != int: | ||
print(f"|{setor[l][c]}|") | ||
elif type(setor[l][c]) == int and setor[l][c] < 10: | ||
print(f"|{setor[l][c]}________|") | ||
else: | ||
print(f"|{setor[l][c]}_______|") | ||
print() | ||
def mostrar_setores(): | ||
print("INCENDIO") | ||
mostrar_setor(incendio) | ||
print("SOCORRO") | ||
mostrar_setor(socorro) | ||
print("TELEFONE") | ||
mostrar_setor(telefone) | ||
|
||
# resetar setor | ||
def reset_setor(setor): | ||
setor[0] = [0,2,4,6,8,10,12] | ||
setor[1] = [1,3,5,7,9,11,13] | ||
return setor | ||
|
||
# TESTES | ||
# padrão | ||
atribuir_pessoas_setor(pessoas, incendio, dia) | ||
mostrar_setores() |
42 changes: 42 additions & 0 deletions
42
projetos/projetos-de-ia/projeto-de-csp-bombeiros/CSP_Bombeiros/entradas/entrada_1.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
Juliane__, 0 | ||
Fernanda_, 1 | ||
Bruna____, 1 | ||
Ricardo__, 0 | ||
Jo�o_____, 2 | ||
Tatiane__, 3 | ||
Eduardo__, 1 | ||
Rodrigo__, 0 | ||
Pedro____, 1 | ||
Beatriz__, 0 | ||
Carlos___, 1 | ||
Leonardo_, 2 | ||
Adriana__, 0 | ||
Sabrina__, 1 | ||
Mariana__, 0 | ||
Maria____, 0 | ||
Vitor____, 1 | ||
Vanessa__, 2 | ||
Aline____, 1 | ||
Diego____, 1 | ||
Gabriel__, 0 | ||
Andr�____, 2 | ||
Gabriela_, 1 | ||
Rafaela__, 1 | ||
Carla____, 0 | ||
Renata___, 2 | ||
Felipe___, 1 | ||
Juliana__, 1 | ||
Patr�cia_, 1 | ||
Fernando_, 0 | ||
Eliane___, 3 | ||
Henrique_, 1 | ||
Gustavo__, 1 | ||
Daniel___, 1 | ||
Mateus___, 2 | ||
Alexandre, 1 | ||
Igor_____, 1 | ||
Ana______, 2 | ||
Bianca___, 1 | ||
Bruno____, 1 | ||
Marcelo__, 0 | ||
Larissa__, 1 |
42 changes: 42 additions & 0 deletions
42
projetos/projetos-de-ia/projeto-de-csp-bombeiros/CSP_Bombeiros/entradas/entrada_10.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
Eliane___, 1 | ||
Juliane__, 4 | ||
Renata___, 1 | ||
Caio_____, 0 | ||
Henrique_, 0 | ||
Carlos___, 0 | ||
Ana______, 1 | ||
Thiago___, 2 | ||
Vanessa__, 1 | ||
Patr�cia_, 0 | ||
Gustavo__, 0 | ||
Adriana__, 1 | ||
Eduardo__, 0 | ||
Alexandre, 2 | ||
Bianca___, 2 | ||
Sabrina__, 2 | ||
Tatiane__, 2 | ||
Rafael___, 1 | ||
Leonardo_, 0 | ||
Mateus___, 0 | ||
Aline____, 0 | ||
Carla____, 2 | ||
Juliana__, 1 | ||
Fernando_, 0 | ||
Gabriel__, 0 | ||
Lucas____, 1 | ||
Jo�o_____, 1 | ||
Ricardo__, 1 | ||
Larissa__, 1 | ||
Rafaela__, 0 | ||
Andr�____, 4 | ||
Pedro____, 1 | ||
Mariana__, 1 | ||
Bruna____, 1 | ||
Felipe___, 1 | ||
Isabela__, 0 | ||
Camila___, 2 | ||
Rodrigo__, 1 | ||
Igor_____, 0 | ||
Vitor____, 0 | ||
Nat�lia__, 0 | ||
Gabriela_, 4 |
42 changes: 42 additions & 0 deletions
42
projetos/projetos-de-ia/projeto-de-csp-bombeiros/CSP_Bombeiros/entradas/entrada_100.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
Gustavo__, 1 | ||
Fernanda_, 1 | ||
Eduardo__, 1 | ||
Lucas____, 2 | ||
Leonardo_, 3 | ||
Diego____, 3 | ||
Rafael___, 1 | ||
Vitor____, 1 | ||
Nat�lia__, 3 | ||
Alexandre, 0 | ||
Bianca___, 1 | ||
Larissa__, 1 | ||
Caio_____, 0 | ||
Thiago___, 2 | ||
Aline____, 0 | ||
Eliane___, 0 | ||
Carla____, 0 | ||
Mateus___, 1 | ||
Juliana__, 1 | ||
Henrique_, 1 | ||
Maria____, 1 | ||
Beatriz__, 3 | ||
Juliane__, 0 | ||
Sabrina__, 1 | ||
Tatiane__, 1 | ||
Ana______, 0 | ||
Daniel___, 2 | ||
Gabriela_, 1 | ||
Vanessa__, 0 | ||
Paula____, 1 | ||
Adriana__, 1 | ||
Igor_____, 1 | ||
Bruno____, 1 | ||
Gabriel__, 0 | ||
Carlos___, 1 | ||
Patr�cia_, 1 | ||
Marcelo__, 1 | ||
Bruna____, 0 | ||
Mariana__, 0 | ||
Jo�o_____, 1 | ||
Felipe___, 1 | ||
Fernando_, 1 |
42 changes: 42 additions & 0 deletions
42
projetos/projetos-de-ia/projeto-de-csp-bombeiros/CSP_Bombeiros/entradas/entrada_11.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
Juliana__, 0 | ||
Vanessa__, 2 | ||
Paula____, 0 | ||
Eliane___, 2 | ||
Rafael___, 1 | ||
Bruna____, 1 | ||
Aline____, 0 | ||
Larissa__, 0 | ||
Bruno____, 2 | ||
Carlos___, 3 | ||
Nat�lia__, 1 | ||
Tatiane__, 0 | ||
Gustavo__, 0 | ||
Adriana__, 0 | ||
Patr�cia_, 1 | ||
Jo�o_____, 0 | ||
Caio_____, 1 | ||
Renata___, 0 | ||
Diego____, 1 | ||
Vitor____, 1 | ||
Lucas____, 0 | ||
Juliane__, 0 | ||
Gabriel__, 3 | ||
Igor_____, 3 | ||
Daniel___, 1 | ||
Maria____, 2 | ||
Andr�____, 3 | ||
Felipe___, 0 | ||
Isabela__, 1 | ||
Bianca___, 1 | ||
Carla____, 1 | ||
Rafaela__, 2 | ||
Leonardo_, 1 | ||
Alexandre, 1 | ||
Sabrina__, 0 | ||
Eduardo__, 0 | ||
Marcelo__, 2 | ||
Camila___, 0 | ||
Mateus___, 0 | ||
Thiago___, 2 | ||
Fernanda_, 3 | ||
Henrique_, 0 |
42 changes: 42 additions & 0 deletions
42
projetos/projetos-de-ia/projeto-de-csp-bombeiros/CSP_Bombeiros/entradas/entrada_12.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
Alexandre, 0 | ||
Eduardo__, 1 | ||
Felipe___, 0 | ||
Isabela__, 0 | ||
Henrique_, 3 | ||
Paula____, 1 | ||
Vanessa__, 1 | ||
Bruno____, 1 | ||
Sabrina__, 2 | ||
Carla____, 1 | ||
Caio_____, 1 | ||
Leonardo_, 1 | ||
Tatiane__, 1 | ||
Camila___, 1 | ||
Rafael___, 0 | ||
Maria____, 0 | ||
Larissa__, 0 | ||
Gustavo__, 2 | ||
Juliane__, 0 | ||
Marcelo__, 1 | ||
Pedro____, 0 | ||
Fernanda_, 1 | ||
Patr�cia_, 1 | ||
Ricardo__, 2 | ||
Diego____, 1 | ||
Rafaela__, 0 | ||
Gabriela_, 2 | ||
Carlos___, 1 | ||
Daniel___, 0 | ||
Eliane___, 2 | ||
Lucas____, 1 | ||
Aline____, 2 | ||
Renata___, 2 | ||
Fernando_, 2 | ||
Juliana__, 2 | ||
Rodrigo__, 1 | ||
Beatriz__, 2 | ||
Igor_____, 2 | ||
Bruna____, 0 | ||
Mateus___, 0 | ||
Ana______, 1 | ||
Thiago___, 0 |
Oops, something went wrong.