Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
#!/usr/bin/env python # -*- coding: utf-8 -*- # # Trabalho2.py # # Copyright 2020 Ricardo <Ricardo@DESKTOP-E4GC4AP> # import pickle lista = ["Cadastrar um novo motorista", "Cadastrar um novo veículo", "Alterar proprietario de um veículo", "Cadastrar uma nova infraçao", "Sair do Sistema"] def menu(lista): print("MENU PRINCIPAL") c = 1 for item in lista: print(f"{c} - {item}") c = c + 1 return "" def cadnovainfra(dia, mes, ano, plac, natuinfra): with open("multas.bin","rb") as f: moto = pickle.load(f) veicu = pickle.load(f) infra = pickle.load(f) natu = pickle.load(f) if natuinfra == 1: infra = ((x+1,(dia, mes, ano), plac, "Leve" )) if natuinfra == 2: infra = ((x+1,(dia, mes, ano), plac, "Média" )) if natuinfra == 3: infra = ((x+1,(dia, mes, ano), plac, "Grave")) if natuinfra == 4: infra = ((x+1,(dia, mes, ano), plac, "Gravissima" )) while natuinfra < 1 or natuinfra > 4: print("Informe a natureza da infração, o digite 1 para infraç˜ao leve, 2 para média, 3 para grave e 4 para gravíssimia") natuinfra = int(input()) if natuinfra == 1: infra = ((x+1,(dia, mes, ano), plac, "Leve" )) if natuinfra == 2: infra = ((x+1,(dia, mes, ano), plac, "Média" )) if natuinfra == 3: infra = ((x+1,(dia, mes, ano), plac, "Grave")) if natuinfra == 4: infra = ((x+1,(dia, mes, ano), plac, "Gravissima" )) return infra def altprop(plac, cnh): with open("multas.bin","rb") as f: moto = pickle.load(f) veicu = pickle.load(f) infra = pickle.load(f) natu = pickle.load(f) if plac in veicu: x = veicu[plac][2] y = veicu[plac][1] veicu[plac] = (cnh, y , x) return veicu def cadveic(plac, cnh, modveic, corveic): with open("multas.bin","rb") as f: moto = pickle.load(f) veicu = pickle.load(f) infra = pickle.load(f) natu = pickle.load(f) if plac in veicu: print("Placa já existente") else: veicu[plac] = (cnh, modveic, corveic) return veicu def cadsmot(cnh, nomemot, dia, mes, ano): with open("multas.bin","rb") as f: moto = pickle.load(f) veicu = pickle.load(f) infra = pickle.load(f) natu = pickle.load(f) if cnh in moto: print("Motorista já cadastrado") else: moto[cnh] = (nomemot, (dia,mes,ano)) return moto def addarq(moto, veicu, infra, natu): with open("multas.bin","rb") as f: pickle.dump(moto,f) pickle.dump(veicu,f) pickle.dump(infra,f) pickle.dump(natu,f) def main(): print(menu(lista)) print("Escolha uma opção: ") op = int(input()) while op < 1 or op > 5: import os os.system('cls') print(menu(lista)) if op == 1: with open("multas.bin","rb") as f: moto = pickle.load(f) veicu = pickle.load(f) infra = pickle.load(f) natu = pickle.load(f) print("Informe o numero da CNH: ") cnh = str(input()) print("Informe o nome do Motorista: ") nomemot = str(input()) print("Informe a data de nascimento do Motorista: ") dia = int(input("Dia: ")) mes = int(input("Mês: ")) ano = int(input("Ano: ")) w = cadsmot(cnh, nomemot, dia, mes, ano) elif op == 2: print("Informe a placa do veiculo: ") plac = str(input()) print("Informe o numero da CNH: ") cnh = str(input()) print("Informe o modelo do veiculo: ") modveic = str(input()) print("Informe a cor do veiculo: ") corveic = str(input()) x = cadveic(plac, cnh, modveic, corveic) elif op == 3: print("Informe a placa do veiculo: ") plac = str(input()) print("Informe o numero da CNH do novo proprietario: ") cnh = str(input()) w = altprop(plac, cnh) elif op == 4: with open("multas.bin","rb") as f: moto = pickle.load(f) veicu = pickle.load(f) infra = pickle.load(f) natu = pickle.load(f) x = len(infra) print("Informe a data da infração: ") dia = int(input("Dia: ")) mes = int(input("Mês: ")) ano = int(input("Ano: ")) print("Informe a placa do veiculo: ") plac = str(input()) print("Informe a natureza da infração, o digite 1 para infraç˜ao leve, 2 para média, 3 para grave e 4 para gravíssimia") natuinfra = int(input()) z = cadnovainfra(dia, mes, ano, plac, natuinfra) main()