Criar nova eleição: deve ser possível criar uma nova eleição indicando um nome para a eleição, a data, descrição e, a seguir, cadastrando os candidatos e eleitores. O uso de um identificador escolhido pelo usuário é opcional.
Passo 1
Beleza, vamos lá! O exercício pede para a gente criar uma funcionalidade de “nova eleição”. Isso significa que vamos precisar desenvolver um sistema onde podemos adicionar uma eleição com um nome, data, descrição e depois cadastrar os candidatos e eleitores. Além disso, temos a opção de usar um identificador personalizado para a eleição, mas isso é opcional. Para resolver isso, vamos precisar usar conceitos de programação orientada a objetos e talvez um pouco de banco de dados para armazenar essas informações.
Passo 2
Primeiro, vamos pensar em como representar uma eleição no nosso código. Vamos criar uma classe chamada
Eleicao
. Essa classe vai ter atributos para o nome, data, descrição, e listas para candidatos e eleitores. Se o usuário quiser, também pode adicionar um identificador.class Eleicao:
def __init__(self, nome, data, descricao, identificador=None):
self.nome = nome
self.data = data
self.descricao = descricao
self.identificador = identificador
self.candidatos = []
self.eleitores = []
Passo 3
Agora, vamos precisar de funções para adicionar candidatos e eleitores. Vamos criar métodos dentro da classe
Eleicao
para isso. Cada candidato e eleitor pode ser representado por simples strings (nomes), mas se quiser algo mais detalhado, podemos usar outra classe. def adicionar_candidato(self, candidato):
self.candidatos.append(candidato)
def adicionar_eleitor(self, eleitor):
self.eleitores.append(eleitor)
Passo 4
Vamos também criar uma função para criar uma nova eleição. Essa função vai pedir ao usuário para inserir os detalhes da eleição e depois adicionar candidatos e eleitores conforme necessário.
def criar_nova_eleicao():
nome = input("Digite o nome da eleição: ")
data = input("Digite a data da eleição (DD/MM/AAAA): ")
descricao = input("Digite a descrição da eleição: ")
identificador = input("Digite um identificador opcional (ou deixe em branco): ")
if identificador == "":
identificador = None
eleicao = Eleicao(nome, data, descricao, identificador)
while True:
candidato = input("Digite o nome de um candidato (ou 'sair' para parar): ")
if candidato.lower() == 'sair':
break
eleicao.adicionar_candidato(candidato)
while True:
eleitor = input("Digite o nome de um eleitor (ou 'sair' para parar): ")
if eleitor.lower() == 'sair':
break
eleicao.adicionar_eleitor(eleitor)
return eleicao
Passo 5
Por fim, vamos testar nossa função para garantir que tudo está funcionando direitinho. Vamos chamar a função
criar_nova_eleicao
e depois imprimir os detalhes da eleição criada.def main():
eleicao = criar_nova_eleicao()
print("\nEleição criada com sucesso!")
print(f"Nome: {eleicao.nome}")
print(f"Data: {eleicao.data}")
print(f"Descrição: {eleicao.descricao}")
if eleicao.identificador:
print(f"Identificador: {eleicao.identificador}")
print("Candidatos:", ', '.join(eleicao.candidatos))
print("Eleitores:", ', '.join(eleicao.eleitores))
if __name__ == "__main__":
main()
Resposta
Prontinho! Agora você tem um sistema simples para criar uma nova eleição, incluir candidatos e eleitores, com a opção de adicionar um identificador personalizado se quiser.
Exercícios relacionados
Crie um procedimento chamado apresentaProduto, que recebe como parâmetro um dicionário que representa o produto, e apresenta os dados do produto. O produto deve ser apresentado no seguinte formato ( 1,5 ponto):
Se o produto não estiver em promoção: | Se o produto estiver em promoção: |
---|---|
Código: <CODIGO_BARRA> | Código: <CODIGO_BARRA> |
Nome do Produto: <NOME_PRODUTO> | Nome do Produto: <NOME_PRODUTO> |
Crie uma função chamada existeProduto que recebe como parâmetro um valor inteiro que representa um código de barras de um produto e a lista de produtos no estoque e retorna True se existir algum produto armazenado na lista estoque que possua o código de barras igual ao valor passado no argumento da função. Caso contrário, a função deve retornar o valor False ( 1,0 ponto);
Cadastro de candidatos: deve ser possível cadastrar um novo candidato fornecendo seu número identificador, nome e descrição.
Para a apresentação do trabalho, incluir na tela inicial uma opção de login e senha de um usuário já cadastrado (administrador). Também já deverão estar cadastradas pelo menos 3 eleições, com 2 , 5 e 10 candidatos, respectivamente, e pelo menos 10 eleitores em cada. Pelo menos um eleitor deverá estar cadastrado somente em uma das eleições.