Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

porque "def convites(nomes)" e não apenas "def convites()"

Porque usar

def convites(nomes)

Ou qualquer outro exemplo do gênero, se na hora de chamar a função, não é para preencher onde está "nomes"? Nos exercícios utiliza-se um

raw_input

Para adicionar o "nome" e depois temos que criar a lista "nomes"

Para mim faz mais sentido escrever apenas:

def convites()

ou

def convites(nome)

e não usar o "raw_input" e escrever direto o nome na hora de chamar a função. Exemplo:

convites('joao')
1 resposta
solução!

Boa noite João, nesse caso, o "nomes" apresentado entre parenteses na função, indica o nome da lista em que se deseja cadastrar o nome, ou seja: Antes de executar essa função, deve-se criar uma lista em branco, para termos aonde registrar o "raw_input" do usuario.

nomes = []

Após a criação dessa lista, a função a recebe como argumento, para indicar aonde salvar o "raw_input" do usuario, portanto:

def cadastrar(nomes): #Nome da lista que o nome sera cadastrado
   print 'Digite o nome:'
   nome = raw_input() #Nome que será cadastrado na lista chamada nomes
   nomes.append(nome) #inclusão do nome na lista

No caso do seu exemplo

def convites()

ou

def convites(nome)

A função não teria aonde registrar o nome colocado como argumento, pois não teria nenhuma lista para fazer o mesmo!

Por isso é necessario o nome da lista como argumento da função, para termos o que registrar (nome recebido no "raw_input") e aonde registrar (nome da lista em que o nome sera colocado)