Ir para conteúdo
Fórum Script Brasil
  • 0

Me Ajudem A Reduzir Este Codigo... (e Bem Pequeno)


Hannibal

Pergunta

Como eu poderia reduzir este programa...

#Inicio

import os
os.system("cls")

print "\n                             --------------------"
print "                             Cadastro de Clientes"
print "                             --------------------"

#Incognitas

passa = 0
lista = []

#Menu

print "\n 1 - Ver lista de Clientes"
print " 2 - Adicionar novo Cliente"
print " 3 - Remover Cliente"
print " 4 - Sair"

menu = input ("\n Qual e a sua opcao: ")

import os
os.system("cls")

#if Menu

if menu == 1:
	print "\n                             --------------------"
	print "                             Cadastro de Clientes"
	print "                             --------------------"
	print "\n Atualmente existe",len(lista),"nomes em sua lista."
	print "\n Os quais são:",
	print lista
	print "\n -----------------------------------------------------------------------"
	print "\n 1 - Ver lista de Clientes"
	print " 2 - Adicionar novo Cliente"
	print " 3 - Remover Cliente"
	print " 4 - Sair"
	menu = input ("\n Qual e a sua opcao: ")
	print "\n -----------------------------------------------------------------------"

	import os
	os.system("cls")	

elif menu == 2:
	print "\n                             --------------------"
	print "                             Cadastro de Clientes"
	print "                             --------------------"
	novonome = raw_input ("\n Digite o novo nome a ser adicionado: ")
	lista.insert (0,novonome)
	print "\n -----------------------------------------------------------------------"
	print "\n 1 - Ver lista de Clientes"
	print " 2 - Adicionar novo Cliente"
	print " 3 - Remover Cliente"
	print " 4 - Sair"
	menu = input ("\n Qual e a sua opcao: ")
	print "\n -----------------------------------------------------------------------"

	import os
	os.system("cls")	

elif menu == 3:
	print "\n                             --------------------"
	print "                             Cadastro de Clientes"
	print "                             --------------------"
	removernome = raw_input ("\n Digite um nome valido para ser excluido: ")
	lista.remove (removernome)
	print "\n -----------------------------------------------------------------------"
	print "\n 1 - Ver lista de Clientes"
	print " 2 - Adicionar novo Cliente"
	print " 3 - Remover Cliente"
	print " 4 - Sair"
	menu = input ("\n Qual e a sua opcao: ")
	print "\n -----------------------------------------------------------------------"

	import os
	os.system("cls")	

elif menu == 4:
	x=2

	import os
	os.system("exit")  

else:
	print "\n                             --------------------"
	print "                             Cadastro de Clientes"
	print "                             --------------------"
	print "\n Selecione um numero correspondente ao menu..."
	print "\n -----------------------------------------------------------------------"
	print "\n 1 - Ver lista de Clientes"
	print " 2 - Adicionar novo Cliente"
	print " 3 - Remover Cliente"
	print " 4 - Sair"
	menu = input ("\n Qual e a sua opcao: ")
	print "\n -----------------------------------------------------------------------"

	import os
	os.system("cls")  

while menu != 4:

	if menu == 1:
  print "\n                             --------------------"
  print "                             Cadastro de Clientes"
  print "                             --------------------"
  print "\n Atualmente existe",len(lista),"nomes em sua lista."
  print "\n Os quais são:",
  print lista
  print "\n -----------------------------------------------------------------------"
  print "\n 1 - Ver lista de Clientes"
  print " 2 - Adicionar novo Cliente"
  print " 3 - Remover Cliente"
  print " 4 - Sair"
  menu = input ("\n Qual e a sua opcao: ")
  print "\n -----------------------------------------------------------------------"

  import os
  os.system("cls")  	

	elif menu == 2:
  print "\n                             --------------------"
  print "                             Cadastro de Clientes"
  print "                             --------------------"
  novonome = raw_input ("\n Digite o novo nome a ser adicionado: ")
  lista.insert (passa,novonome)
  print "\n -----------------------------------------------------------------------"
  print "\n 1 - Ver lista de Clientes"
  print " 2 - Adicionar novo Cliente"
  print " 3 - Remover Cliente"
  print " 4 - Sair"
  menu = input ("\n Qual e a sua opcao: ")
  print "\n -----------------------------------------------------------------------"

  import os
  os.system("cls")  	

	elif menu == 3:
  print "\n                             --------------------"
  print "                             Cadastro de Clientes"
  print "                             --------------------"
  removernome = raw_input ("\n Digite um nome valido para ser excluido: ")
  lista.remove (removernome)
  print "\n -----------------------------------------------------------------------"
  print "\n 1 - Ver lista de Clientes"
  print " 2 - Adicionar novo Cliente"
  print " 3 - Remover Cliente"
  print " 4 - Sair"
  menu = input ("\n Qual e a sua opcao: ")
  print "\n -----------------------------------------------------------------------"

  import os
  os.system("cls")  	

	else:
  print "\n                             --------------------"
  print "                             Cadastro de Clientes"
  print "                             --------------------"
  print "\n Selecione um numero correspondente ao menu..."
  print "\n -----------------------------------------------------------------------"
  print "\n 1 - Ver lista de Clientes"
  print " 2 - Adicionar novo Cliente"
  print " 3 - Remover Cliente"
  print " 4 - Sair"
  menu = input ("\n Qual e a sua opcao: ")
  print "\n -----------------------------------------------------------------------"

  import os
  os.system("cls")  	

import os
os.system("exit")

#Fim

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Por que você repete as opções do menu a cada opção escolhida? Não seria mais simples ter uma função escrita apenas uma vez e que, ao ser chamada, mostrasse as opções? A função seria essa:

def mostraopcoes():
 print "\n                             --------------------"
 print "                             Cadastro de Clientes"
 print "                             --------------------"
 print "\n -----------------------------------------------------------------------"
 print "\n 1 - Ver lista de Clientes"
 print " 2 - Adicionar novo Cliente"
 print " 3 - Remover Cliente"
 print " 4 - Sair"
 menu = input ("\n Qual e a sua opcao: ")
 print "\n -----------------------------------------------------------------------"
 return menu
Daí, em todo lugar que essa parte aparece, bastaria você colocar:
menu = mostraopcoes()

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Claro. Def define uma função (um bloco de código qualquer). Por exemplo:

def DigiteSeuNome():
  nome = raw_input("Digite seu nome:")
  return nome
Daí, sempre que você quiser pedir um nome, bastará fazer:
nomedigitado = DigiteSeuNome()
Funções também pode receber parâmetros. Por exemplo, se você quer o fatorial de 5 (5x4x3x2x1=120) e depois quer o fatorial de 6 (6x5x4x3x2x1=720), poderia fazer uma função assim:
def fatorial(n):
  resultado = 1
  for i in range(1, n+1):
    resultado *= i
  return resultado
Daí, bastaria usar:
print "O fatorial de 5 é %i" % fatorial(5)
print "O fatorial de 6 é %i" % fatorial(6)
valor = int(raw_input('Digite um valor qualquer:'))
print "O fatorial de %i é %i" % (valor, fatorial(valor))

Sacou? wink.gif

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Agora to entendendo...

So o que vi em exemplos, para que que serve o self???

E como eu tiro um tal de "None" que aparece entodas as minhas def???

E para que serve o return???

Link para o comentário
Compartilhar em outros sites

  • 0
Agora to entendendo...

So o que vi em exemplos, para que que serve o self???

E como eu tiro um tal de "None" que aparece entodas as minhas def???

E para que serve o return???

Na ordem, "self" é o próprio objeto. Você conhece alguma coisa sobre OO (Orientação a Objetos)? Se não, dê uma procurada a respeito.

Todas as funções que não tem algum retorno, retornam None. Exemplo:

def teste(n1, n2):
  soma = n1+n2
E, se você fizer:
print teste(2, 3)
Aparecerá None porque a função não está retornando nada. Respondendo a pergunta sobre o return, se a função acima fosse...
def teste(n1, n2):
  soma = n1+n2
  return soma

... o resultado do print seria o valor 5, porque este é o valor retornado (return significa retorno).

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...