Buscar

Trabalho2


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()

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando