patentes = [
{"PSP": "Director Nacional", "GP": "Director-Geral", "PM": "Comandante-Geral", "GNR": "Comandante-Geral"},
{"PSP": "Director Nacional Adjunto", "GP": "", "PM": "2º Comandante-Geral", "GNR": "Tenente-General"},
{"PSP": "Superintendente-Chefe", "GP": "", "PM": "", "GNR": "Major-General"},
{"PSP": "Superintendente", "GP": "", "PM": "Comandante Regional", "GNR": "Coronel"},
{"PSP": "Intendente", "GP": "", "PM": "Comandante Local", "GNR": "Tenente-Coronel"},
{"PSP": "Subintendente", "GP": "", "PM": "", "GNR": "Major"},
{"PSP": "Comissário", "GP": "Comissário", "PM": "Inspector", "GNR": "Capitão"},
{"PSP": "Subcomissário", "GP": "", "PM": "Subinspector", "GNR": "Tenente"},
{"PSP": "", "GP": "", "PM": "Chefe", "GNR": "Alferes"},
{"PSP": "Aspirante a Oficial", "GP": "", "PM": "", "GNR": "Aspirante a Oficial"},
{"PSP": "Chefe Coordenador", "GP": "Chefe Coordenador", "PM": "", "GNR": "Sargento-Mor"},
{"PSP": "", "GP": "", "PM": "", "GNR": "Sargento-Chefe"},
{"PSP": "Chefe Principal", "GP": "Chefe Principal", "PM": "SubChefe", "GNR": "Sargento-Ajudante"},
{"PSP": "Chefe", "GP": "Chefe", "PM": "Agente 1ª classe", "GNR": "Primeiro-Sargento"},
{"PSP": "", "GP": "", "PM": "Agente 2ª classe", "GNR": "Segundo-Sargento"},
{"PSP": "", "GP": "", "PM": "", "GNR": "Furriel"},
{"PSP": "Agente Coordenador", "GP": "Guarda Coordenador", "PM": "", "GNR": "Cabo-Mor"},
{"PSP": "", "GP": "", "PM": "", "GNR": "Cabo-Chefe"},
{"PSP": "Agente Principal", "GP": "Guarda Principal", "PM": "Agente 3.ª Classe", "GNR": "Cabo"},
{"PSP": "", "GP": "", "PM": "", "GNR": "Guarda Principal"},
{"PSP": "Agente", "GP": "Guarda", "PM": "Agente Estagiário", "GNR": "Guarda"},
]
def mostrar_tabela():
print(f"{'PSP':<25} {'GP':<25} {'PM':<25} {'GNR':<25}")
print("=" * 100)
for linha in patentes:
print(f"{linha['PSP']:<25} {linha['GP']:<25} {linha['PM']:<25} {linha['GNR']:<25}")
def buscar_equivalentes():
nome = input("Digite uma patente (qualquer força): ").strip().lower()
for linha in patentes:
if nome in [linha[f].lower() for f in linha if linha[f]]:
print("\nEquivalentes encontrados:")
for força, patente in linha.items():
print(f" - {força}: {patente}")
return
print("Patente não encontrada.")
def menu():
while True:
print("\n--- Equivalência de Patentes nas Forças de Segurança ---")
print("1. Mostrar tabela completa")
print("2. Buscar equivalentes de uma patente")
print("3. Sair")
opcao = input("Escolha uma opção: ")
if opcao == "1":
mostrar_tabela()
elif opcao == "2":
buscar_equivalentes()
elif opcao == "3":
break
else:
print("Opção inválida!")
menu()