• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

joalves

duvida

2 mensagens neste tópico

boas, a minha duvida e o seguinte.esteprograma e suposto criar uma lista, depois de a lista estar feita e para inserir os produtos que ja pos no carrinho mas esta a dar erro na linha k diz

lista.remove([input("inserir produtos que ja pos no carrinho--> ")]) agradecia se me pudessem ajudar

lista = []
continuar = "s"
while continuar =="s":
lista.extend([input("inserir produtos--> ")])
continuar=input("quer continuar s/n... ")
print "comprou os seguintes produtos--> ",lista	

lista.remove([input("inserir produtos que ja pos no carrinho--> ")])
print "faltam os seguintes produtos--> ",lista	
continuar=input("quer continuar s/n... ")

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se fosse eu a programar abordava o problema de outra maneira

Mas para tornar o programa mais robusto a erros deixo aqui uma sugestão:


lista = []
continuar = "s"
while continuar =="s":
lista.extend([input("inserir produtos--> ")])
continuar=input("quer continuar s/n... ")
print "comprou os seguintes produtos--> ",lista	

remove_item=raw_input("inserir produtos que ja pos no carrinho--> ")

if remove_item in lista[]:
    lista.remove(remove_item)
else:
    print "Item nao esta na lista"
    
print "faltam os seguintes produtos--> ",lista	
continuar=input("quer continuar s/n... ")

Outra coisa, no método que esta a usar o input() por exemplo nesta linha

lista.extend([input("inserir produtos--> ")])

tens que meter os valores entre " " ou contrario do raw_input() o input nao os poem automaticamente

Como deixo-te o exemplo aqui

lista.remove([input("inserir produtos que ja pos no carrinho--> ")])
inserir produtos que ja pos no carrinho--> Ola

Traceback (most recent call last):
  File "<pyshell#15>", line 1, in <module>
    lista.remove([input("inserir produtos que ja pos no carrinho--> ")])
  File "<string>", line 1, in <module>
NameError: name 'Ola' is not defined

E Para finalizar tens aqui a resposta onde esta o teu erro:

Repara no codigo a baixo tirei os [] onde o input estava...

lista.append("Ola")
>>> lista.remove(input("inserir produtos que ja pos no carrinho--> "))
inserir produtos que ja pos no carrinho--> "Ola"

Assim ja funciona...

Porque como tinhas o output era este:

lista.remove([input("inserir produtos que ja pos no carrinho--> ")])
inserir produtos que ja pos no carrinho--> "Ola" #-> O Valor do input aqui vai ser ["Ola"] logo vai dar erro tens de tirar os [], mas mesmo assim acho melhor trocares os inputs 


0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora