Fiz de duas formas, a primeira foi uma função chamando a outra:
def envia_convite (nomm):
 indo = "Enviando convite para" 
 enviando = "%s %s" %(indo,nomm)
 return enviando
def gera_nome_convite (nome):
 string1 = nome [0:4]
 tam = len(nome)
 posic = tam - 4
 string2 = nome [posic:tam]
 string3 = '%s %s'  % (string1, string2)
 ss = envia_convite(string3)
 return ss
def processa_convite (nomee): 
 pronto = gera_nome_convite (nomee)
 return prontodepois de definir as funções todas, eu chamo elas no processa_convite:
processa_convite ('elvis presley')output teórico:'Enviando convite para elvi sley' mas na verdade, como não mando printar em nenhum momento, ele não printaria, printaria? eu poderia atribuir isso a uma variavel, e aí sim printar a variável que receberia o retorno final, que seria essa frase inteira, "enviando convite para elvi sley"
A outra forma foi colocando pra printar na própria função envia_convite, pra que ao chamá-la, já viesse impresso sem que eu tenha que atribuir a uma variável (e printá-la posteriormente)..:
def envia_convite (nomm):
 indo = "Enviando convite para" 
 enviando = "%s %s" %(indo,nomm)
 print (enviando)
`def gera_nome_convite (nome):
`string1 = nome [0:4]
 tam = len(nome)
 posic = tam - 4
 string2 = nome [posic:tam]
 string3 = '%s %s'  % (string1, string2)
 ss = envia_convite(string3)
 return ss
def processa_convite (nomee): 
 pronto = gera_nome_convite (nomee)
 envia_convite (pronto)
depois de definir as funções todas, eu chamo elas no processa_convite:
processa_convite ('elvis presley')output: 'Enviando convite para elvi sley Enviando convite para None'
por que ? não consigo entender.
 
            