Informática, perguntado por henriquepereiragot, 4 meses atrás

Fazer um programa para receber um nome e uma letra. A seguir envie estes dados
para uma função que deverá determinar a posição da última ocorrência da letra e a
quantidade de vezes que aparece ( -1 caso o nome não possua a letra).
Escreva no programa principal, o nome, a letra e a posição da última ocorrência (ou -1) e o
número de vezes que a letra aparece no nome.


marcelinons: qual linguagem?
henriquepereiragot: C no coodblok
marcelinons: puts, só manjo em python, sry
henriquepereiragot: Pode ser dai eu converto o codigo
marcelinons: pode cre

Soluções para a tarefa

Respondido por marcelinons
1

def main(name:str, letter:str):

 """ Recebe um nome e uma letra, retorna a quantidade de vezes

 que a letra aparece na string e sua última posição; retorna -1

 caso a letra não apareça na string. """

 

 if letter not in name:

   return -1;

 else:

   count = 0; # Contador de aparições

   x = -1; # Contador de posições

   for elem in name:

     x += 1;

     if elem == letter:

       count += 1;

       last_pos = x;

   return count, last_pos;

print(main('Nicodisidh', 'i'));

Algo nessa lógica deve funcionar. Talvez não seja o mais rápido / eficiente / bonito, mas foi no que eu pensei nos 5 minutos raciocinando; testei com umas palavras e ta funcionando, espero que ajude. Lembrando que o python interpreta as strings como listas também, e se quiser algo mais restrito teria que fazer algo pra verificar se na entrada da letra seja só uma letra mesmo, ou na entrada do nome não tenha números ou outros símbolos fora do alfabeto, etc. Abraço

Perguntas interessantes