Boa noite galera, sou iniciante em python, estou aprendendo seguindo o livro: Use a cabeça Python. Consegui manipular as listas, tudo tranquilo até aqui. Estou estudando a parte de funções, daí criei uma função que funcionou perfeitamente para uma lista, porém não consigo criar a opção dela funcionar para outra lista, idêntica em número de elementos. A função é essa:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
lista = [ "1", "2", [ "3", "4", [ "5", "6"]]]
def printar(the_list):
for x in lista:
if isinstance(x, list):
for y in x:
if isinstance(y, list):
for z in y:
if isinstance(z, list):
print(z)
else:
print(y)
else:
print(x)
h =raw_input("Aperte x para exibir a função, e qualquer outra coisa para não fazer nada.")
if h == ("x"):
printar(lista)
else:
print("você digitou outra coisa, hihiih")
Com os devidos recuos. Esta função funcionou para esta lista. Porém, quando acrescentei mais uma lista ao código e dei a opção dele escrever a segunda lista, ele acusa erro. O segundo programa é assim:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
lista1 = [ "1", "2", [ "3", "4", [ "5", "6"]]]
lista2 = [ "0", "0", [ "0", "0", [ "0", "0"]]]
def printar(lista1, lista2):
for x in list:
if isinstance(x, list):
for y in x:
if isinstance(y, list):
for z in y:
if isinstance(z, list):
print(z)
else:
print(y)
else:
print(x)
h =raw_input("Aperte x para exibir a função, e y para exibir outra função.")
if h == ("x"):
printar(lista1)
if h == ("y"):
printar(lista2)
else:
print("nada")
Eu não sei se entendi muito bem a lógica das funções, ao meu ver uma função serve para que eu não necessite copiar todas as linhas para executar novamente, assim eu posso imprimir duas listas diferentes, usando quase que a mesma quantidade de linhas para imprimir uma lista. Portanto, eu acredito que eu fiz alguma coisa errada na maneira de chamar a lista, no entanto não sei o que. Ajuda aê galera?
Pergunta
Victor Santos Silva
Boa noite galera, sou iniciante em python, estou aprendendo seguindo o livro: Use a cabeça Python. Consegui manipular as listas, tudo tranquilo até aqui. Estou estudando a parte de funções, daí criei uma função que funcionou perfeitamente para uma lista, porém não consigo criar a opção dela funcionar para outra lista, idêntica em número de elementos. A função é essa:
Link para o comentário
Compartilhar em outros sites
10 respostass a esta questão
Posts Recomendados
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.