List como parâmetro de função em Python

Olá pessoal, estou criando uma função para checar se uma lista está vazia. Mas quando coloco para rodar não aparece nada :confused:

def lista_vazia(frase):
a = []
if len(a) == 0:
frase = input(‘A lista está vazia’)
else:
frase = input(‘A lista não está vazia’)

A indentação do seu código é assim mesmo ou bugou na hora de postar?
Deveria ser algo assim:

def lista_vazia(frase):
    a = []
    if len(a) == 0:
        frase = input(‘A lista está vazia’)
    else:
        frase = input(‘A lista não está vazia’)
1 curtida

A indentação tava bugada mesmo. Mas mesmo com a que tu passou não tá exibindo a mensagem :confused:

Mostre o código completo.

É só isso:

def lista_vazia(frase):
    a = []
    if len(a) == 0:
        frase = input('A lista está vazia')
    else:
        frase = input('A lista não está vazia')

Então a lógica não tá legal e vc não tá chamando a função, apenas a declarando.

def lista_vazia(frase):
    a = []
    if len(a) == 0:
        print('A lista está vazia')
    else:
        print('A lista não está vazia')

frase = input('Digite uma frase')
lista_vazia(frase)

Tente assim

Isso não faz muito sentido: você cria uma lista vazia e depois vê se o tamanho dela é zero (sempre será). O que você está tentando fazer exatamente?

1 curtida

A minha lógica tava meia boca mesmo. Com esse código acima aparece sempre que tá vazia sempre mas consegui resolver, muito obrigado pela ajuda :smiley:

Verdade, finalmente percebi isso, muito obrigado.

Consegui resolver assim:

def lista_vazia(frase):
    a = [frase]
    if len(frase) == 0:
        print('A lista está vazia')
    else:
        print('A lista não está vazia')

frase = input('Digite uma frase: ')
lista_vazia(frase)

Você não usa a variável a pra nada, então na verdade pode até removê-la…