Vim de 2022 pra dizer que a frase "O usuário é a pior raça que tem, ele vai fazer de tudo pro seu programa para de funcionar." é a melhor frase na área de TI KKKKKKKKJJJJJ
Na hora de achar a letra A, eu achei outro problema também, já que se o A estivesse com alguma acentuação ele não reconhecia, então eu tive que usar a função replace: frase = frase.replace('á', 'a') aí eu repeti isso com todos os tipos de acentuação q o A pode receber
Oi Hannah! Eu fiz uma modificação no meu pra procurar qualquer letra, assim: f = str(input('Digite uma frase: ')).lower().strip() l = str(input('Qual letra deseja procurar? ')) print('A letra {} apareceu {} vezes na frase.'.format(l.upper(), f.count(l))) print('A primeira letra {} apareceu na posição {}'.format(l.upper(), f.find(l) + 1)) print('A última letra {} apareceu na posição {}'.format(l.upper(), f.rfind(l) + 1)) Porém, com seu comentário vi que tem essa falha no meu, consegue bolar uma solução? :)
@@Aszaziel oii Então, acredito que você teria que usar a função replace com todas as letras que podem ter algum tipo de acentuação. O problema é que o código ficaria muito longo... Talvez haja algum outro modo de resolver que seja mais simples, mas eu não conheço nenhum
Eu refiz este exercício (até porque eu perdi minhas pastas e tive que reinstalar o pycharm) e dessa vez eu importei a biblioteca "unidecode", que serve para remover os acentos (eu não me aprofundei nessa biblioteca, mas ela deve servir para mais coisas que eu ainda não conheço). Antes eu não conseguia fazer a contagem de letras "A"(s), por exemplo, pois algumas sempre estavam acentuadas. Essa biblioteca retira os acentos e símbolos da string, permitindo a contagem dessas letras. Para utilizá-la, basta fazer a importação e utilizar o método unidecode da biblioteca de mesmo nome, ou simplesmente importar o método dessa biblioteca. # Importando a biblioteca: import unidecode frase = str(input('Digite uma frase: ').strip().upper() frase1 = unidecode.unidecode(frase) ou # Importando apenas o método: from unidecode import unidecode frase = str(input('Digite uma frase: ').strip().upper() frase1 = unidecode(frase) O resto é com você.
Essa biblioteca reduz o código por não precisar fazer replaces nem considerações para cada acentuação e ainda permite inserir a opção de o usuário escolher a letra a ser analisada sem risco de desconsiderar acentuações
Valeu, ai deixei assim: from unidecode import unidecode frase = unidecode(input('Escreva uma frase: ').lower().strip()) print('Quantas vezes aparece a letra \"a\"', frase.count('a')) print('Em que posição ela aparece a primeira vez?', frase.find('a')+1) print('Em que posição ela aparece a primeira vez?', frase.rfind('a')+1)
Tive que parar um tempinho, já estava lá no mundo 3 em listas e estava muito ruim em manipulação de string, e tava me batendo até pra fazer exercícios de loop simples. Resolvi voltar todo o curso a partir daqui e vi minha evolução nesse conteúdo. Quando eu chegar em listas novamente vou estar preparado
Isso que ele falou no final, sobre repetir exercícios, é importante. Um exemplo que faço é tentar mesclar lições, como, por exemplo, algo simples como colocar emojis nas lições, ou contar palavras em assuntos que tenha cálculos envolvidos.
botei a frase ao contrario, não conhecia o rfind() #fraseaocontrario = frase[::-1] #print(" a letra 'a' apareçe pela ultima vez na {}ª posição".format(len(frase) - fraseaocontrario.find("a") - 1))
só queria tbm deixar registrado que a melhor didática em programação é a sua. simplesmente não tem como não entender, coisa que outros professores não conseguiram me passar. MUITO OBRIGADO !
Eu implementei um pouco o código, deixando voçe escolher qual letra quer analisar frase = str(input('Digite uma frase qualquer: ')).upper().strip() letra = str(input('Digite a letra que quer análisar: ')).upper().strip() print(f'A letra {letra} apareceu {frase.count(letra)} vezes') print(f'A primeira aparição da letra {letra} foi na {frase.find(letra)+1}° posição ') print(f' aultima vez que a letra {letra} apareceu foi na {frase.rfind(letra)+1}° posição')
Valeu pela idéia, assim que eu comecei a ler seu comentário, eu fui tentar implementar sua idéia sem olhar seu código, foi fácil e legal! Obrigadão! O meu ficou assim: frase = str(input('Digite uma frase: ')).upper().strip() letra = str(input('Digite uma letra para buscar na frase: ')).upper().strip() q = frase.count(letra) primeira = frase.find(letra) + 1 ultima = frase.rfind(letra) + 1 print(f'Resultados para a letra {letra}:') print(f'Quantidade: {q}') print(f'Posição da primeira: {primeira}') print(f'Posição da última: {ultima}')
Acrescentei para ter a escolha de qual a letra a ser analisada na frase: frase = str(input('DIGITE UMA FRASE QUALQUER:')).lower().strip() l = str(input('ESCOLHA UMA LETRA PARA ANALISAR NA FRASE:')).lower().strip() print ('A LETRA {} APARECE NA FRASE {}'.format(l, frase.count(l))) print ('A LETRA {} APARECE PELA PRIMEIRA VEZ NA POSIÇÃO {}'.format(l, frase.find(l)+1)) print ('A LETRA {} APARECE PELA ÚLTIMA VEZ NA FRASE NA POSIÇÃO {}'.format(l, frase.rfind(l)+1))
@@romarioalves9332 adicionar o parâmetro [0] , para capturar apenas a primeira letra digitada l = str(input('ESCOLHA UMA LETRA PARA ANALISAR NA FRASE:')).lower().strip()[0]
eu fiz da seguinte forma : nome = str(input('Digite seu nome:')).upper().strip() cont = nome.count('A') conta = nome.find('A') con = nome.rfind('A') print('O nome tem {} no total, O primeiro A aparece na {} posição, O ultimo A aparece na {} posição'.format(cont, conta, con))
Cara, voce é um excelente professor e tem uma didática incrível. Tenho 37 anos e decidi estudar Programação em Python durante a quarentena, e voce esta me ajudando muito com isso. Parabéns!!
#Análise profunda de uma string considerando 'A' n = input('Digite algo: ').upper().strip() print(f'A letra "A" aparece {n.count("A")} vezes.') print(f'A primeira letra A apareceu na posição {n.find("A")+1}.') print(f'A ultima letra A aparece na posição {n.rfind("A")+1}.')
Hoje fiquei muito feliz pois des de o comesso n consegui faser muito bem meus códigos mas então resolvi começar a seguir uma dica do Guanabara e começar a faser anotações das aulas e hoje fiz meu próprio código apenas usando as anotações
Cara eu te agradeço de mais por esse curso, quero fazer transição de carreira e to aprendendo muito com você, sua didatica é sensacional, ate aqui eu consegui entender e fazer todos os exercicios antes de começar os videos! Deus te abençoe, parabens !!!!
Não lembrava dos comandos "find" e "rfind", então tive que olhar os comentários e o vídeo, mas depois foi suave. As aulas continuam fantásticas, estou gostando demais! print('Olá, hoje veremos quantas letras "A" o seu nome contem.') nome = str(input('Qual seu nomme? ')).strip().upper() print(f"Seu nome contem {nome.count('A')} A") print(f"Ela é a {nome.find('A')+1}º letra em sua frase.") print(f'A última vez que ela aparece é na {nome.rfind("A")+1}º posição')
Olá 🦗! Fico muito feliz em saber que está gostando das minhas aulas e que minha didática está sendo eficaz para você! Continue se dedicando aos estudos, tenho certeza que você vai conquistar seus objetivos! 🚀👨🚀 E não se preocupe, com a prática, você vai ficando cada vez mais familiarizado com a sintaxe e estrutura dos códigos. Considere se tornar Estudonauta ou Aluno Apoiador em nosso site para ajudar no seu aprendizado. 🖖
Vou comentar porque pode ser o problema de alguém, fiquei quebrando a cabeça ontem tentando resolver. Bom em alguns videos atras vi que .format mudou na versão mais nova do Python, agora é assim: print(f'Texto {variavel}') porem não estava conseguindo colocar a variavel nome + o find dava erro: print(f 'Letra aparece primeira vez {nome.find('a')}) depois de tentar mudar a aspas simples para a dupla funcionou, segue o código abaixo: frase = str(input('Insira sua frase:')).strip().lower() print(f'A letra "a" aparece {frase.count("a")} vezes') print(f'A letra "a" aparece a primeira vez na posição {frase.find("a") + 1}') print(f'A ultima letra "a" aparece na {frase.rfind("a") + 1}')
Obrigado! A rotina acho que é uma das dicas a serem seguidas , começar com a tipagem (str) apricar métodos cabiveis .strip().upper(), no print usar sempre {} e .format(). e assim vai. Obrigado!
neste meu voce pode escolher a letra :3 frase = str(input('digite uma frase: ')).upper() letra = str(input('agora diga uma letra que estaja na frase ou não: ')).upper() print('analizando se na sua frase tem {}, se repetiu: {}'.format(letra, frase.count(letra))) print('essa letra {}, apareceu na 1º vez na posição: {}'.format(letra, frase.find(letra)+1)) print('A ultima letra apareceu na posição: {}'.format(frase.rfind(letra)+1))
*O MEU TBM* lt=str(input('Qual Letra Você quer verificar ? ')).upper() fs=str(input('Digite uma Frase: ')).upper().strip() print('A letra {} aparece "{}" Vezes na Frase'.format(lt, fs.count('A'))) print('A Primeira letra "{}" Aparece na Posição {}'.format(lt, fs.find('A')+1)) print('A Ultima letra "{}" Aparece na Posição {}'.format(lt, fs.rfind('A')))
Passei um tempão matando a cabeça pra achar a última posição da letra e na hora era só um "r"zinho, #vacilei Kakakaka O resto fiz certinho: # Exercício Python 026: Faça um programa que leia uma frase pelo teclado e # mostre quantas vezes aparece a letra "A", # em que posição ela aparece a primeira vez e em que posição ela aparece a última vez. f = str(input('Digite uma frase: ')).strip().upper() print('A letra "A" aparece {} vezes nessa frase'.format(f.count('A'))) print('A mesma letra aparece pela primeira vez na posição {}' ' e pela última na {}'.format(f.find('A')+1,f.rfind('A')+1))
Eu fiz algo mto mirabolante, eu dei um count na frase, daí eu coloquei essa variável dentro do find, e então dava certo. Mentira, dava um erro que eu nem sei o motivo, tava tão perfeito. Depois coloco o código aqui, caso alguém queira ver.
Cara...eu não consegui fazer nenhum exercício desse módulo...Os módulos passados eu consegui de boa, mas esse eu me ferrei 100%. Bate até um desânimo clk.
Algo que é interessante fazer é tratar a questão de acentuação na frase. Ex: Amanhã irei para a faculdade --> essa frase tem 8 letras "A", mas se o script não tiver um tratamento de acentuação irá reconhecer apenas 7 letras "A". Estarei disponibilizando aqui o meu código para quem tiver interesse. frase = input("Digite uma frase: ").strip() n1 = frase.replace("ã","a").replace("á","a").replace("à","a").replace("â","a").upper().count("A") n2 = frase.replace("ã","a").replace("á","a").replace("à","a").replace("â","a").upper().find("A")+1 n3 = frase.replace("ã","a").replace("á","a").replace("à","a").replace("â","a").upper().rfind("A") print("""A frase que você digitou foi: {} Sua frase tem {} letras (A), a primeira começa na posição {} e a última termina na posição {}""" .format(frase,n1,n2,n3))
Gustavo, gostei deste exercício! Eu fiz assim: frase = str(input('Digite uma frase: ')).upper().strip() print('Sua frase foi: {}!'.format(frase)) if 'A' in frase: print('Quantas vezes aparece a letra A na frase? {}'.format(frase.count('A'))) print('A letra A aparece pela primeira vez na posição {}!'.format(frase.find('A')+1)) print('A letra A aparece pela última vez na posição {}!'.format(frase.rfind('A')+1)) else: print('Não existe a letra A na sua frase!')
nessa última conta q fala q "A última letra A apareceu na posição 7" está errado pq continua contando com o espaço entre Arara e Azul, para resolver esse problema é simples print('a letra A apareceu pela ultima vez na {} posição'.format(frase.rfind('A')+1 - frase.count(' '))) como virão acima é só colocar depois do +1 o - frase.count(' ')
@@brunouli1943 Bem melhor essa forma que vc usou, aqui eu coloco .strip() e ainda sim conta os espaços, quando substituo por -frase.count(' ') o valor fica negativo kkkk. Maneira mais eficiente para o meu caso foi utilizar a sua dica de usar .replace(" ","") obrigado pelo comentário, salvou aqui kkkk
Sim percebi isso tbm porem tinha esquecido de colocar o count(' ') ai tinha feito assim no final . format(frase.rfind('a') - (' ') mas deu erro lógico pq tinha que localizar os espaços com p count pra poder eliminar todos eles, agradeço❤
frase = str(input('Escreva uma frase: ')).lower().strip() frase = frase.replace(' ', '') letras = frase.count("a") print(f' a frase tem {letras} letras A e a primeira letra A aparece na posição {frase.find("a")+1} e a ultima letra A aparece na posição {frase.rfind("a")+1} ') Coloquei o replace para tirar todos os espaços também, inclusive os do meio, se não iria dar erro do mesmo jeito, espero ter ajudado :D
=))) muito boa aula, vc ta de parabéns. desafio 026 n1 = input('Digite uma frase com no máximo 2 palavras: ').strip() n2 = n1.split() print('A letra (A) aparece {} vezes na frase {}'.format(n1.upper().count('A'), n1)) print('A letra (A) aparece pela primeira vezes na {}° letra'.format(n1.upper().find('A')+1)) print('A letra (A) aparece pela última vezes na {}° letra'.format(n1.upper().rfind('A') - n1.upper().count(' ')+1))
Aquele salve pessoal! Acredito que seja legal lembrar que talvez os 'Á' e 'Â' possam interferir na contagem. Tentei fazer assim para evitar o problema: #### frase = str(input('Digite uma frase: ')).strip().upper() frase2 = frase.replace('Á', 'A').replace('Â','A') print(f"A letra 'A' apareceu {frase.count('A')} vezes no texto. A primeira letra A está na casa {frase2.find('A')} e o última na casa {frase2.rfind('A')}.") #### Abraço!
frase1 = str(input('Digite uma frase: ')).strip().upper() frase = frase1.replace('Á', 'A').replace('Â', 'A').replace('Ã', 'A') a = int(frase.count('A')) print('Total: {}'.format(a)) if a > 0: c = frase.find('A') print('Primeiro: {}ª'.format(c+1)) e = frase.rfind('A') print('Último: {}ª'.format(e+1)) melhorei seu codigo um pouco pq n trabalhava com Ã
o engraçado e que nem me passou pela a minha cabeça usar esse rfind fui pelo metodo mais dificil, mas e bom saber que na programaçao ha varios metodos de se criar um programa, dando mais liberdade para o programador.
Meta de trabalhar na área ainda em 2023!!!! hoje 19/12/22 Cara eu estou rindo pra não chorar, eu pensei em usar rfind na ultima mas nem tentei pois lembrei de rstrip e pensei "ah esse comando r deve ser exclusivo de strip" resumindo eu pensei na solução mas nem tentei kkkkkkkkkkkkkkkkkkkkk] EXERCICIO#026 frase = str(input('Digite uma frase: ')).upper().strip() print(f'A letra "A" aparece {frase.count("A")} vezes na frase.') print(f'A primeira letra A apareceu na posição {frase.find("A")+1}.') print(f'A última letra "A" apareceu na posição {frase.rfind("A") + 1}.')
@@rafaeluchiha6330 cara n vou ser exigente, qualquer emprego de dev júnior que eu conseguir está ótimo, quero experiência, conhecer esse mercado, depois de já estar mais experiente vou me dar o luxo de escolher kkkkkk
kkkkkk eu pensei em colocar {frase.find("A" , -1)} e deu certo mkkkkk, ele começa lendo pela direita tbm. # acabei de testar vários nomes e descobri uma falha com isso, ele não lê o "A" da segunda frase se a segunda frase começar com "A" e não terminar com "A" denovo kkkkkkkkkpqp. Tem q usar o ".rfind" mesmo.
Eu fiz esse curso do Ganabara, excelente. Mas na época não estava dando certificado, então decidir fazer tudo novamente, primeiro porque vale muito apena e segundo para pegar meus certificados. Meu código frase = str(input('Digite uma frase: ')).strip() print('Analisando frase...') print('Quantas vezes aparece a letra "A"? {}'.format(frase.upper().count('A'))) print('Ela aparece pela primeira vez na posição {}'.format(frase.upper().find('A'))) print('Em que posição ela aparece pela ultima vez? {}'.format(frase.upper().rfind('A')))
Meu codigo ai rapaziada! Obs: o '#' simboliza um comentario, apenas a fim de compreensao caso um dia volte a consultar o codigo. frase = str(input('Digite uma frase: ')).strip().upper() # Quantas vezes aparece o caractere 'A' p1 = frase.count('A') print('A letra "A" aparece {} vezes na frase!'.format(p1)) # Primeria ocorrencia da string 'A' p2 = frase.find('A') print('A letra "A" aparece pela primeira vez na posição {}!'.format(p2)) # Ultima ocorrencia da string 'A' p3 = frase.rfind('A') print('A letra "A" aparece pela ultima vez na posição {}!'.format(p3))
Uma boa prática é não alterar a frase original, usar um frase2 para armazenar a frase alterada. frase2 = frase.upper( ).replace('Á', 'A').replace('Ã', 'A').replace('Â', 'A')
acho interessante usar a biblioteca do unidecode pra resolver a questão de letras com acentuação, assim você reduz o código e resolve qualquer eventual problema desse tipo. o meu ficou assim: from unidecode import unidecode frase = unidecode(input('Digite uma frase: ').upper().strip()) print('A letra A aparece {} vezes na frase' .format(frase.count('A'))) print('A primeira letra "A" aparece na posição {}.' .format(frase.find('A')+1)) print('A última letra "A" aparece na posição {}.' .format(frase.rfind('A')+1))
Adorei mano! Tamos junto assim que começar a trabalhar na área graças a seus curos...Com certeza irei contruir para vocês continuarem fazendo esse trabalho de propagar a preogramação, que tão importante para todas as pessoas. Grato: Prof. Gustavo Guanabara e equipe.
Uma dúvida no exercício 26. A gente consegue reconhecer as letras transformando-as em maiúscula ou minúscula. Porém, temos as letras com acentos. Como eu faço pra ele reconhecer as letras com acentos?
Eu fiz o seguinte frase = str(input('digite uma frase: ').lower().strip()) print ('A frase que você digitou foi: {} '.format(frase)) a = frase.count('a') a1 = frase.count('á') a2 = frase.count('à') a3 = frase.count('ã') print ('O numero de vezes que a letra A aparece é: {}'.format(a+a1+a2+a3)) print ('A letra A apareceu 1º na posição {}'.format(frase.find('a')+1)) print ('A letra A apareceu pela ultima vez na posição {}'.format(frase.rfind('a')+1)) ficou incompleto, porque faltou bastante variações de 'a' mas o básico padrão da língua portuguesa brasileira eu tentei suprir
É possível modificar a frase inserida removendo os acentos. Dá pra fazer isso importando o módulo "unidecode". Meu código ficou assim: import unidecode #serve para remover os acentos frase = str(input('Digite uma frase: ')).upper().strip() frasesemacentos = unidecode.unidecode(frase) print(frasesemacentos) print(f'A letra "A" aparece um total de {frasesemacentos.count("A")} vez(es).') print(f'Ela aparece pela primeira vez na posição {frasesemacentos.find("A") + 1} e pela última vez na posição {frasesemacentos.rfind("A") + 1}.') Descobri isso nesse blog: rogeriopradoj.com/2019/07/14/como-tirar-acentos-de-string-no-python-transliterate-unicodedata-e-unidecode//
Esse +1 pra deixar a contagem mais simples eu não tinha pensado, é uma boa solução. Acabei fazendo sem ela mesmo e contei igual ao Python kkkk Ficou assim: frase = input('Digite uma frase qualquer: ').strip() print(frase) print(f'Sua frase possui {frase.lower().count("a")} letras A ') print(f'A letra A aparece primeiro na posição {frase.lower().find("a")}') print(f'A letra A aparece por último na posição {frase.lower().rfind("a")}')
Você pode dar o comando "replace" nas letras acentuadas para que sejam trocadas pela letra "a" sem acento. Meu código ficou assim: print('=====Desafio 26=====') frase = str(input('Digite uma frase: ')).strip() frase = frase.lower() frase = frase.replace('á','a') frase = frase.replace('â','a') frase = frase.replace('ã','a') print('Sua frase tem {} letras "a".'.format(frase.count('a'))) print('A primeira letra "a" aparece na posição {}.'.format(frase.find('a') + 1)) print('A última letra "a" aparece na posição {}.'.format(frase.rfind('a') + 1))
é, faltou apenas remover também os espaços entre as palavras que também ocupam posição... frase = str(input('Digite uma frase: ')).upper().strip() frase = frase.replace('Á' , 'A') frase = frase.replace('Ã' , 'A') frase = frase.replace('À' , 'A') frase = frase.replace(' ' , '') print('A letra "A" aparece: {} vezes. '.format(frase.count('A'))) print('Aparece primeiro na posição: {}.'.format(frase.find('A')+1)) print('Aparece por último na posição: {}.'.format(frase.rfind('A')+1))
Eu baixei e importei um módulo chamado unidecode que retira os acentos. Aí ficou assim: import unidecode frase = str(input('Insira uma frase: ')).strip() frasenova = unidecode.unidecode(frase) print('A letra "A" aparece {} vezes no texto.'.format(frasenova.upper().count('A'))) print('A primeira aparição da letra "A" é na posição {}.'.format(frasenova.upper().find('A')+1)) print('A última aparição da letra "A" é na posição {}.'.format(frasenova.upper().rfind('A')+1)) :)
Beleza... porém e se colocarmos acentos.... se vc for encontrar as letras A's com acentos... todos ~´`^???????? o meu algoritimo faz isso... calcula todos... com acento ou sem....
Como eu estou usando só o que o Guanabara nos ensina para fazer os exercícios, preferi fazer pela contagem: b = str(input("Insira uma frase ")).strip() print ("Na sua frase, a letra A apareceu {} vezes, sendo {} minúsculas e {} maiúsculas." .format(b.count('A') + b.count('a') + b.count('À') + b.count("à"), b.count('a') + b.count("à") , b.count('A') + b.count('À')))
Não sabia do comando rfind. Só depois de pesquisar outros comandos é que vi o rfind e resolvi testar e acabou dando certo. Demorei a solucionar pois achei que toda a solução estava nos comandos ensinados na aula 9. Abraço.
GAFANHOTOS, nessa resolução do desafio o Guanabara deixou passar uma coisa, a posição da ultima letra “a”, pois ele esqueceu de subtrair o espaço ( “ “ ) que ficam no meio da frase, então para o programa funcionar corretamente, o ultimo passo é: print(‘A ultima letra A aparece na posição {}’.format(frase.rfind(‘a’) + 1 - frase.count(‘ ‘)))
Galera, o Guanabara cometeu um pequeno erro nesse código. No desafio '2', o de mostrar a posição do primeiro 'A' só funciona caso o primeiro A esteja na primeira palavra da frase. Caso a frase seja: Oi Amanda! Ele contará os espaços e falará que a primeira letra se encontra na posição 4, sendo que o correto é na 3. Para resolver isso, basta fazer isso: print(f'A primeira letra A aparece na posição {frase.find("A")+1 - frase.count(" ")}')
No seu código também tem um problema. Pois se tiver espaços depois do último A ele tbm será retirado. O que eu fiz pra resolver isso foi: nome = str(input('Digite a frase: ')).lower().strip() x = nome.rfind('a') print(f'Existem {nome.count("a")} As na sua frase. ' f'O primeiro A é a {1 + nome.find("a")}º letra. ' f'Aparece a última vez na {(1 + x) - nome.count(" ", 0, x)}º.')
Pra resolver é só dar um Split e depois join, pois assim a frase ficará toda junta. Essa técnica resolve maioria dos problemas para encontrar caracteres em posições
@@PedroPaulo-xz5mh Cara, mas o Guanabara usa o .strip que é pra justamente tirar qualquer possível espaço depois. Qual o sentido de querer contar os espaços depois que acabar a frase? O espaço entre as palavras é totalmente normal contar, não é? Senão o Guanabara teria comentado algo, eu acho
Amiguinhos gafanhotinhos.... Sou mais asno pra programar do que o Bozo pra governar!!! Me Digam como faria para mostrar a posição de todos os A ("Ás", AA, Ases) dentro de uma frase??? Também sou burro para a lingua portuguesa... XD
obrigado a todos que compartilharam seus codigos e estao contribuindo e obrigado gustavo por no ensinar tanta coisa o meu ficou assim: frase = str(input('Digite uma frase: ')).upper().strip() letra = str(input('Digite uma letra para saber imformaçoes sobre ela na frase: ')).upper().strip() print('-' * 20) q = frase.count(letra) primeira = frase.find(letra) + 1 ultima = frase.rfind(letra) + 1 print(f'Resultados para a letra {letra}:') print(f'Quantidade: {q}') print(f'Posição da primeira: {primeira}') print(f'Posição da última: {ultima}') print('-' * 20)
na versão nova do python vc pode usar o format como print(f'frase {conteudo(" ")}') e so funciona se algo q ta dentro da funcao q precisa de aspas dentro do parenteses tiver aspas duplas, tipo a funcao frase.count("a")
frase=str(input('Digite uma frase: ')).strip() print('A letra A aparece {} vezes na frase.'.format(frase.upper.count('A'))) print('A primeira letra A apareceu na posição {}'.format(frase.upper.find('A')+1)) print('A última letra A aparece na posição {}'.format(frase.upper.rfind('A')+1)) Eu havia feito assim com .upper e cheguei no mesmo resultado. É incrivel como sempre dá pra simplificar a resolução mudando apenas o .upper de lugar.
# Fiz pra poder escolher a letra da frase também. frase = str(input('Digite sua frase: ')).upper().strip() letra = str(input('Digite uma letra que esteja dentro da sua frase para a análise: ')).upper().strip() print(f'A sua frase tem {frase.count(letra)} vezes a letra "{letra.lower()}".') print(f'A primeira letra "{letra.lower()}" aparece na posição {frase.find(letra) + 1}.') print(f'A última letra "{letra.lower()}" aparece na posição {frase.rfind(letra) + 1}.') Obrigado professor!
fiz dessa forma tx = str(input('Digite algo: ')).strip().upper() letras = tx.count('A') print(f'A letra A aparece {letras} na frase ' f'A primeira letra A apareceu na posição {tx.replace('A', ' A').find('A')} ' f'A ultima letra A apareceu na posição {tx.rfind('A')+1}')
f = str(input('Digite uma frase:')).strip().upper() e = f.count(' ') a = f.count('A') p = f.find('A')+1 u = f.rfind('A')+1 print(f'A letra ( A ) aparece {a} vezes na frase') print(f'A primeira vez que ela apareceu foi na posição: {p}') print(f'A última vez que ela apareceu foi: {u-e}') Fiz desse modo, e acabei tbm tirando os espaços no meio da frase pra não atrapalhar ^^
frase = str(input('Por favor digite uma frase:')).upper() c = frase.count('A') print('Na sua frase a letra A aparece:', c, 'vezes') frase.strip() s = frase.find('A')+1 print('na sua frase a letra A aparece primeiro na posição:', s) t = frase.rfind('A')+1 print('Na sua frase a letra A aparece a ultima vez em', t) para quem não conseguiu fazer, não desanime, pois só consegui concluir tudo olhando o vídeo do professor. Fiquei quebrando a cabeça, mas só era acrescentar a função .upper e +1.
Atualizei o +1 e deixei algumas funções mais otimizadas, mas consegui fazer. É muito satisfatório!!! print('Exercício26: Analisador de frase') frase = str(input('Digite uma frase: ')).strip().lower() # Quantas vezes aparece a letra A print('A letra "A" aparece na frase {} vezes. '.format(frase.count('a'))) print('A letra "A" aparece primeiro na posição {}. '.format(frase.find('a')+1)) print('A letra "A" aparece por último na posição {}. '.format(frase.rfind('a')+1))
Bem legal, treina bastante o que apareceu nas aulas de manipulação de texto. Esse eu fiz de uma forma menos prática, mas o que importa é que saiu hahah Vida longa aos que ajudam tanto com conteúdo de tanta qualidade e em português, você é raro Guanabara. Um grande abraço! frase = input('Digite uma frase: ') frase = frase.strip().lower contador = frase.count('a') if contador == 0: print('A letra A não aparece na frase') elif contador == 1: print('A única letra A aparece na posição {}'.format(frase.find('a')+1)) else: print('A primeira letra A aparece na prosição {} e a última na posição {}'.format(frase.find('a')+1, frase.rfind('a')+1))
Existe o 'strip()' para poder retirar espacos antes e no final da str, mas existe algum metodo para remover espacos excessivos entre as frases? Pq o programa assim tbm ficaria errado se colocar espacos entre elas...
Consegui fazer 66%, o ultimo não lembrava de um "rightfind".... kkkkkk Ler da esquerda pra direita, de cima pra baixo... PC não faz assim... kkkk Todos os dias mais um aprendizado. 🚀
Cara, me senti um gênio por ter usado o variável.rfind() , mas esse +1 me pegou de surpresa.
3 роки тому
O ultimo A deveria aparecer na posição 6, então eu tirei os espaços do meio das letras assim: frase = str(input('Escreva uma frase: ')).upper().strip() print('A letra A aparece {} vezes na frase.'.format(frase.count('A'))) print('A primeira letra A aperece na posição {}.'.format(frase.find('A')+1)) print('A ultima letra A aparece na posição {}.'.format(len(frase) - frase.count(' '),frase.rfind('A')))
#import unidecode para tirar acentos import unidecode f = str(input('Digite uma frase: ')).upper().strip() new_f = unidecode.unidecode(f) print('A letra A aparece {} vezes na frase'.format(new_f.count('A'))) print('A primeira letra A apareceu na posição {}'.format(new_f.find('A') + 1)) print('Á ultima letra A apareceu na posição {}'.format(new_f.rfind('A') + 1))
Estude pelo nosso site e tire certificado de 40 horas. Curso completo em: www.cursoemvideo.com/curso/python-3-mundo-1/
Vim de 2022 pra dizer que a frase "O usuário é a pior raça que tem, ele vai fazer de tudo pro seu programa para de funcionar." é a melhor frase na área de TI KKKKKKKKJJJJJ
Na hora de achar a letra A, eu achei outro problema também, já que se o A estivesse com alguma acentuação ele não reconhecia, então eu tive que usar a função replace:
frase = frase.replace('á', 'a')
aí eu repeti isso com todos os tipos de acentuação q o A pode receber
boa dica mano 👍
Boooa
Oi Hannah!
Eu fiz uma modificação no meu pra procurar qualquer letra, assim:
f = str(input('Digite uma frase: ')).lower().strip()
l = str(input('Qual letra deseja procurar? '))
print('A letra {} apareceu {} vezes na frase.'.format(l.upper(), f.count(l)))
print('A primeira letra {} apareceu na posição {}'.format(l.upper(), f.find(l) + 1))
print('A última letra {} apareceu na posição {}'.format(l.upper(), f.rfind(l) + 1))
Porém, com seu comentário vi que tem essa falha no meu, consegue bolar uma solução? :)
@@Aszaziel oii
Então, acredito que você teria que usar a função replace com todas as letras que podem ter algum tipo de acentuação. O problema é que o código ficaria muito longo...
Talvez haja algum outro modo de resolver que seja mais simples, mas eu não conheço nenhum
Eita! Passei batido nessa rs Valeu ai!
Eu refiz este exercício (até porque eu perdi minhas pastas e tive que reinstalar o pycharm) e dessa vez eu importei a biblioteca "unidecode", que serve para remover os acentos (eu não me aprofundei nessa biblioteca, mas ela deve servir para mais coisas que eu ainda não conheço). Antes eu não conseguia fazer a contagem de letras "A"(s), por exemplo, pois algumas sempre estavam acentuadas.
Essa biblioteca retira os acentos e símbolos da string, permitindo a contagem dessas letras.
Para utilizá-la, basta fazer a importação e utilizar o método unidecode da biblioteca de mesmo nome, ou simplesmente importar o método dessa biblioteca.
# Importando a biblioteca:
import unidecode
frase = str(input('Digite uma frase: ').strip().upper()
frase1 = unidecode.unidecode(frase)
ou
# Importando apenas o método:
from unidecode import unidecode
frase = str(input('Digite uma frase: ').strip().upper()
frase1 = unidecode(frase)
O resto é com você.
JAMO KRUS, muito obrigado pela dica!! Valeu!!!!
@@lucianoaj Nada, amigo.
Aula pela internet é assim: não tem ajuda imediata do prof, mas tem as dicas dos colegas nos comentários. Vlw.
Essa biblioteca reduz o código por não precisar fazer replaces nem considerações para cada acentuação e ainda permite inserir a opção de o usuário escolher a letra a ser analisada sem risco de desconsiderar acentuações
Valeu, ai deixei assim:
from unidecode import unidecode
frase = unidecode(input('Escreva uma frase: ').lower().strip())
print('Quantas vezes aparece a letra \"a\"', frase.count('a'))
print('Em que posição ela aparece a primeira vez?', frase.find('a')+1)
print('Em que posição ela aparece a primeira vez?', frase.rfind('a')+1)
Tive que parar um tempinho, já estava lá no mundo 3 em listas e estava muito ruim em manipulação de string, e tava me batendo até pra fazer exercícios de loop simples. Resolvi voltar todo o curso a partir daqui e vi minha evolução nesse conteúdo. Quando eu chegar em listas novamente vou estar preparado
A informática foi muito bem, até que apareceu o usuário...kkkk
Isso que ele falou no final, sobre repetir exercícios, é importante. Um exemplo que faço é tentar mesclar lições, como, por exemplo, algo simples como colocar emojis nas lições, ou contar palavras em assuntos que tenha cálculos envolvidos.
Me pegou com esse +1 e o frase.rfind() kkkk vlw sensei 😣😣😣😣
Filho do Arthur tambem
no programa, o primeiro indice é 0, você coloca o +1 para o usuário, para ele é posição 1.
também não conhecia o rfind, fiz com laço for
o +1 até tinha pensado em fazer mas o rfind me pegou de surpresa
botei a frase ao contrario, não conhecia o rfind()
#fraseaocontrario = frase[::-1]
#print(" a letra 'a' apareçe pela ultima vez na {}ª posição".format(len(frase) - fraseaocontrario.find("a") - 1))
só queria tbm deixar registrado que a melhor didática em programação é a sua.
simplesmente não tem como não entender, coisa que outros professores não conseguiram me passar.
MUITO OBRIGADO !
Eu implementei um pouco o código, deixando voçe escolher qual letra quer analisar
frase = str(input('Digite uma frase qualquer: ')).upper().strip()
letra = str(input('Digite a letra que quer análisar: ')).upper().strip()
print(f'A letra {letra} apareceu {frase.count(letra)} vezes')
print(f'A primeira aparição da letra {letra} foi na {frase.find(letra)+1}° posição ')
print(f' aultima vez que a letra {letra} apareceu foi na {frase.rfind(letra)+1}° posição')
Excelente. Obrigada por compartilhar
Valeu pela idéia, assim que eu comecei a ler seu comentário, eu fui tentar implementar sua idéia sem olhar seu código, foi fácil e legal! Obrigadão!
O meu ficou assim:
frase = str(input('Digite uma frase: ')).upper().strip()
letra = str(input('Digite uma letra para buscar na frase: ')).upper().strip()
q = frase.count(letra)
primeira = frase.find(letra) + 1
ultima = frase.rfind(letra) + 1
print(f'Resultados para a letra {letra}:')
print(f'Quantidade: {q}')
print(f'Posição da primeira: {primeira}')
print(f'Posição da última: {ultima}')
top top
Melhor curso de PY do Brasil.
Acrescentei para ter a escolha de qual a letra a ser analisada na frase:
frase = str(input('DIGITE UMA FRASE QUALQUER:')).lower().strip()
l = str(input('ESCOLHA UMA LETRA PARA ANALISAR NA FRASE:')).lower().strip()
print ('A LETRA {} APARECE NA FRASE {}'.format(l, frase.count(l)))
print ('A LETRA {} APARECE PELA PRIMEIRA VEZ NA POSIÇÃO {}'.format(l, frase.find(l)+1))
print ('A LETRA {} APARECE PELA ÚLTIMA VEZ NA FRASE NA POSIÇÃO {}'.format(l, frase.rfind(l)+1))
fino, senores 🍷
também fiz assim
nessa versão ai, como faria pra limitar para o usuário analisar apenas uma letra?
@@romarioalves9332 adicionar o parâmetro [0] , para capturar apenas a primeira letra digitada
l = str(input('ESCOLHA UMA LETRA PARA ANALISAR NA FRASE:')).lower().strip()[0]
Mas ai tu perde as acentuações
Gustavo, que Deus abençoe profundamente você e sua equipe pelo material excelente, com muita didática e fenomenal qualidade! Obrigado mesmo!
eu fiz da seguinte forma :
nome = str(input('Digite seu nome:')).upper().strip()
cont = nome.count('A')
conta = nome.find('A')
con = nome.rfind('A')
print('O nome tem {} no total,
O primeiro A aparece na {} posição,
O ultimo A aparece na {} posição'.format(cont, conta, con))
Mds, eu tinha esquecido que o “rfind” existia, aí eu tava quebrando a cabeça pra achar alguma solução mirabolante pra encontrar a última letra A
Cara, voce é um excelente professor e tem uma didática incrível. Tenho 37 anos e decidi estudar Programação em Python durante a quarentena, e voce esta me ajudando muito com isso. Parabéns!!
Nunca é tarde para começar. TMJ! Parabéns!
#Análise profunda de uma string considerando 'A'
n = input('Digite algo: ').upper().strip()
print(f'A letra "A" aparece {n.count("A")} vezes.')
print(f'A primeira letra A apareceu na posição {n.find("A")+1}.')
print(f'A ultima letra A aparece na posição {n.rfind("A")+1}.')
Hoje fiquei muito feliz pois des de o comesso n consegui faser muito bem meus códigos mas então resolvi começar a seguir uma dica do Guanabara e começar a faser anotações das aulas e hoje fiz meu próprio código apenas usando as anotações
"USUÁRIO É A PIOR RAÇA QUE TEM!"
GUANABARA, Gustavo
Cara eu te agradeço de mais por esse curso, quero fazer transição de carreira e to aprendendo muito com você, sua didatica é sensacional, ate aqui eu consegui entender e fazer todos os exercicios antes de começar os videos! Deus te abençoe, parabens !!!!
Eu ralei um pouco mas descobri esse rfind antes de ver a resolução
Como?
.
@@honocss eae man!? Beleza?
@@marvin1290 se tu apertar ctrl + espaço aparece as sugestôes, foi assim que eu descobri tbm. Pesquisa na net tbm, vai te ajudar bastante
@@henriquesiegel958 ala burguês safado kk uso 9 celular manin
Não lembrava dos comandos "find" e "rfind", então tive que olhar os comentários e o vídeo, mas depois foi suave.
As aulas continuam fantásticas, estou gostando demais!
print('Olá, hoje veremos quantas letras "A" o seu nome contem.')
nome = str(input('Qual seu nomme? ')).strip().upper()
print(f"Seu nome contem {nome.count('A')} A")
print(f"Ela é a {nome.find('A')+1}º letra em sua frase.")
print(f'A última vez que ela aparece é na {nome.rfind("A")+1}º posição')
Eu pensei em tudo, menos somar 1 ao .find(), mas muitíssimo obrigado, no final eu consegui.
Eu também kkkkkkkkkk cheguei até a rir de tão besta que era
Sua didática é incrível!
Olá 🦗! Fico muito feliz em saber que está gostando das minhas aulas e que minha didática está sendo eficaz para você! Continue se dedicando aos estudos, tenho certeza que você vai conquistar seus objetivos! 🚀👨🚀 E não se preocupe, com a prática, você vai ficando cada vez mais familiarizado com a sintaxe e estrutura dos códigos. Considere se tornar Estudonauta ou Aluno Apoiador em nosso site para ajudar no seu aprendizado. 🖖
O bom que eu tinha lembrado que ele disse que o "r" e o "l" vem em algumas funções e fiquei feliz por ter acertado.
Ano 2020. Acompanhando todas as aulas ( e fazendo todos os exercícios) até aqui. Obrigado!
Vou comentar porque pode ser o problema de alguém, fiquei quebrando a cabeça ontem tentando resolver. Bom em alguns videos atras vi que .format mudou na versão mais nova do Python, agora é assim:
print(f'Texto {variavel}')
porem não estava conseguindo colocar a variavel nome + o find dava erro: print(f 'Letra aparece primeira vez {nome.find('a')})
depois de tentar mudar a aspas simples para a dupla funcionou, segue o código abaixo:
frase = str(input('Insira sua frase:')).strip().lower()
print(f'A letra "a" aparece {frase.count("a")} vezes')
print(f'A letra "a" aparece a primeira vez na posição {frase.find("a") + 1}')
print(f'A ultima letra "a" aparece na {frase.rfind("a") + 1}')
Obrigado;)
Obg tava achando q ia ter q começar a usar .format kkk
ah então você coloca as aspas duplas quando for usar aspas dentro de outras aspas
Obrigado!
Eu tava tendo esse problema! Muito chato, agora já sei, muito obrigado!
Simplesmente sensacional a maneira que vc explica Guanabara, voce esta de parabens...
Obrigado! A rotina acho que é uma das dicas a serem seguidas , começar com a tipagem (str)
apricar métodos cabiveis .strip().upper(), no print usar sempre {} e .format(). e assim vai. Obrigado!
neste meu voce pode escolher a letra :3
frase = str(input('digite uma frase: ')).upper()
letra = str(input('agora diga uma letra que estaja na frase ou não: ')).upper()
print('analizando se na sua frase tem {}, se repetiu: {}'.format(letra, frase.count(letra)))
print('essa letra {}, apareceu na 1º vez na posição: {}'.format(letra, frase.find(letra)+1))
print('A ultima letra apareceu na posição: {}'.format(frase.rfind(letra)+1))
Bem legal! Eu queria saber como achar a letra que eu quisesse. Valeu!
*O MEU TBM*
lt=str(input('Qual Letra Você quer verificar ? ')).upper()
fs=str(input('Digite uma Frase: ')).upper().strip()
print('A letra {} aparece "{}" Vezes na Frase'.format(lt, fs.count('A')))
print('A Primeira letra "{}" Aparece na Posição {}'.format(lt, fs.find('A')+1))
print('A Ultima letra "{}" Aparece na Posição {}'.format(lt, fs.rfind('A')))
@@venomfreefire8441 essa 'A' n é desnecessário? Ai vc n está contando a letra pedida e sim sempre A, me corrija se eu estiver errado
@@vingadorrj Ta certinho. Ali ta errado mesmo. Ele deveria substituir o 'A' por it, que é a variavel que vai receber a letra digitada :)
Você tinha esquecido de usar o strip()
Caso não consiga fazer os desafios, eu aconselho a assistir essa aula novamente.
Curso muito bom.
Usei esta função para remover os espaços
''.join(frase.split())
Pq vc só não usou o .strip() q é bem mais simples?
Muito obrigado pela aula querido professor
8:40 kkkkkkkkkkkkkkkkkk, o melhor ensinamento para os iniciantes. kkkkkkkkkk
Esse foi fácio!! Estou amando esse ceurso
Passei um tempão matando a cabeça pra achar a última posição da letra e na hora era só um "r"zinho, #vacilei Kakakaka
O resto fiz certinho:
# Exercício Python 026: Faça um programa que leia uma frase pelo teclado e
# mostre quantas vezes aparece a letra "A",
# em que posição ela aparece a primeira vez e em que posição ela aparece a última vez.
f = str(input('Digite uma frase: ')).strip().upper()
print('A letra "A" aparece {} vezes nessa frase'.format(f.count('A')))
print('A mesma letra aparece pela primeira vez na posição {}'
' e pela última na {}'.format(f.find('A')+1,f.rfind('A')+1))
kkkk assim mesmo, vivendo e aprendendo
Eu fiz algo mto mirabolante, eu dei um count na frase, daí eu coloquei essa variável dentro do find, e então dava certo. Mentira, dava um erro que eu nem sei o motivo, tava tão perfeito. Depois coloco o código aqui, caso alguém queira ver.
cara eu tambem consegui fazer ate o primeiro a, fritei o cerebelo sem arruma uma conclusão, e era tão simples resolver kkkn
sempre que precisar pesqueisar a ultima coloca um 'r' e sempre que precisar pesquisar a primeira coloca um 'l'
@@arto_1790crl eu tbm faço isso de por uma variável no count kkk
Cara...eu não consegui fazer nenhum exercício desse módulo...Os módulos passados eu consegui de boa, mas esse eu me ferrei 100%. Bate até um desânimo clk.
Algo que é interessante fazer é tratar a questão de acentuação na frase.
Ex: Amanhã irei para a faculdade --> essa frase tem 8 letras "A", mas se o script não tiver um tratamento de acentuação irá reconhecer apenas 7 letras "A".
Estarei disponibilizando aqui o meu código para quem tiver interesse.
frase = input("Digite uma frase:
").strip()
n1 = frase.replace("ã","a").replace("á","a").replace("à","a").replace("â","a").upper().count("A")
n2 = frase.replace("ã","a").replace("á","a").replace("à","a").replace("â","a").upper().find("A")+1
n3 = frase.replace("ã","a").replace("á","a").replace("à","a").replace("â","a").upper().rfind("A")
print("""A frase que você digitou foi: {}
Sua frase tem {} letras (A), a primeira começa na posição {} e a última termina na posição {}""" .format(frase,n1,n2,n3))
Aula show de bola segue o ritimo 😀👊
"o usuário é a pior raça"
༼ つ ◕_◕ ༽つ
kkkk
Gustavo, gostei deste exercício! Eu fiz assim:
frase = str(input('Digite uma frase: ')).upper().strip()
print('Sua frase foi: {}!'.format(frase))
if 'A' in frase:
print('Quantas vezes aparece a letra A na frase? {}'.format(frase.count('A')))
print('A letra A aparece pela primeira vez na posição {}!'.format(frase.find('A')+1))
print('A letra A aparece pela última vez na posição {}!'.format(frase.rfind('A')+1))
else:
print('Não existe a letra A na sua frase!')
Era uma vez a informática, um mundo próspero e feliz! Até que apareceu o *usuário*...
nessa última conta q fala q "A última letra A apareceu na posição 7" está errado pq continua contando com o espaço entre Arara e Azul,
para resolver esse problema é simples
print('a letra A apareceu pela ultima vez na {} posição'.format(frase.rfind('A')+1 - frase.count(' ')))
como virão acima é só colocar depois do +1 o - frase.count(' ')
.replace(" ", "") também dá
@@brunouli1943 Bem melhor essa forma que vc usou, aqui eu coloco .strip() e ainda sim conta os espaços, quando substituo por -frase.count(' ') o valor fica negativo kkkk.
Maneira mais eficiente para o meu caso foi utilizar a sua dica de usar .replace(" ","") obrigado pelo comentário, salvou aqui kkkk
Sim percebi isso tbm porem tinha esquecido de colocar o count(' ') ai tinha feito assim no final . format(frase.rfind('a') - (' ') mas deu erro lógico pq tinha que localizar os espaços com p count pra poder eliminar todos eles, agradeço❤
vlw man, estava quebrando a cabeça.. pq tbm notei esse erro em que continuava contando os espaços, fiquei um bom tempo tentando resolver!
frase = str(input('Escreva uma frase: ')).lower().strip()
frase = frase.replace(' ', '')
letras = frase.count("a")
print(f' a frase tem {letras} letras A e a primeira letra A aparece na posição {frase.find("a")+1} e a ultima letra A aparece na posição {frase.rfind("a")+1} ')
Coloquei o replace para tirar todos os espaços também, inclusive os do meio, se não iria dar erro do mesmo jeito, espero ter ajudado :D
quando fui procurar o ultimo A já veio em mente o "r" pra por na frente do find. Pensei : "Provavelmente essa é a hora de usar".
eu pendei diretamente no L .... testei e não rolou kkk dai fiquei horas tentando tudo da aula te q vi o R .. fiquei com raiva de mim kkkkkkkkk
=))) muito boa aula, vc ta de parabéns.
desafio 026
n1 = input('Digite uma frase com no máximo 2 palavras: ').strip()
n2 = n1.split()
print('A letra (A) aparece {} vezes na frase {}'.format(n1.upper().count('A'), n1))
print('A letra (A) aparece pela primeira vezes na {}° letra'.format(n1.upper().find('A')+1))
print('A letra (A) aparece pela última vezes na {}° letra'.format(n1.upper().rfind('A') - n1.upper().count(' ')+1))
consegui fazer sozinho so metade do exercicio, mas o importanta pra mim é entender a logica por tras do resultado final, muito bom
Aquele salve pessoal!
Acredito que seja legal lembrar que talvez os 'Á' e 'Â' possam interferir na contagem.
Tentei fazer assim para evitar o problema:
####
frase = str(input('Digite uma frase: ')).strip().upper()
frase2 = frase.replace('Á', 'A').replace('Â','A')
print(f"A letra 'A' apareceu {frase.count('A')} vezes no texto. A primeira letra A está na casa {frase2.find('A')} e o última na casa {frase2.rfind('A')}.")
####
Abraço!
TAVA BUSCANDO ESSA SOLUÇÃO MEU AMIGO...
E OS ESPAÇOS NO MEIO??
frase1 = str(input('Digite uma frase: ')).strip().upper()
frase = frase1.replace('Á', 'A').replace('Â', 'A').replace('Ã', 'A')
a = int(frase.count('A'))
print('Total: {}'.format(a))
if a > 0:
c = frase.find('A')
print('Primeiro: {}ª'.format(c+1))
e = frase.rfind('A')
print('Último: {}ª'.format(e+1))
melhorei seu codigo um pouco pq n trabalhava com Ã
Obrigado, resolveu meu problema!!!
boaaaa
@@mayconaurelio7789 .replace(" ", "") vai tirar os espaços e substituir por nada
o engraçado e que nem me passou pela a minha cabeça usar esse rfind fui pelo metodo mais dificil, mas e bom saber que na programaçao ha varios metodos de se criar um programa, dando mais liberdade para o programador.
Meta de trabalhar na área ainda em 2023!!!! hoje 19/12/22
Cara eu estou rindo pra não chorar, eu pensei em usar rfind na ultima mas nem tentei pois lembrei de rstrip e pensei "ah esse comando r deve ser exclusivo de strip" resumindo eu pensei na solução mas nem tentei kkkkkkkkkkkkkkkkkkkkk]
EXERCICIO#026
frase = str(input('Digite uma frase: ')).upper().strip()
print(f'A letra "A" aparece {frase.count("A")} vezes na frase.')
print(f'A primeira letra A apareceu na posição {frase.find("A")+1}.')
print(f'A última letra "A" apareceu na posição {frase.rfind("A") + 1}.')
Klk faz parte. Qusl área vc vai entrar? Esse ano em destaque está cloud e cyberseguranca
@@rafaeluchiha6330 cara n vou ser exigente, qualquer emprego de dev júnior que eu conseguir está ótimo, quero experiência, conhecer esse mercado, depois de já estar mais experiente vou me dar o luxo de escolher kkkkkk
@@livesdayrots8584 beleza kkk
kkkkkk eu pensei em colocar
{frase.find("A" , -1)}
e deu certo mkkkkk, ele começa lendo pela direita tbm.
# acabei de testar vários nomes e descobri uma falha com isso, ele não lê o "A" da segunda frase se a segunda frase começar com "A" e não terminar com "A" denovo kkkkkkkkkpqp. Tem q usar o ".rfind" mesmo.
@@FelipeAbreu-xs2vk kkkkkkk provavelmente tem algum jeito do seu metodo dar certo, mas eu n sei kkkkkk
Eu fiz esse curso do Ganabara, excelente. Mas na época não estava dando certificado, então decidir fazer tudo novamente, primeiro porque vale muito apena e segundo para pegar meus certificados.
Meu código
frase = str(input('Digite uma frase: ')).strip()
print('Analisando frase...')
print('Quantas vezes aparece a letra "A"? {}'.format(frase.upper().count('A')))
print('Ela aparece pela primeira vez na posição {}'.format(frase.upper().find('A')))
print('Em que posição ela aparece pela ultima vez? {}'.format(frase.upper().rfind('A')))
Meu codigo ai rapaziada!
Obs: o '#' simboliza um comentario, apenas a fim de compreensao caso um dia volte a consultar o codigo.
frase = str(input('Digite uma frase: ')).strip().upper()
# Quantas vezes aparece o caractere 'A'
p1 = frase.count('A')
print('A letra "A" aparece {} vezes na frase!'.format(p1))
# Primeria ocorrencia da string 'A'
p2 = frase.find('A')
print('A letra "A" aparece pela primeira vez na posição {}!'.format(p2))
# Ultima ocorrencia da string 'A'
p3 = frase.rfind('A')
print('A letra "A" aparece pela ultima vez na posição {}!'.format(p3))
exercicio facíl mas tive algumas dificuldades na ultima frase, mas e isso um passo de cada vez 🙏
Uma boa prática é não alterar a frase original, usar um frase2 para armazenar a frase alterada.
frase2 = frase.upper( ).replace('Á', 'A').replace('Ã', 'A').replace('Â', 'A')
Aulas ✍
acho interessante usar a biblioteca do unidecode pra resolver a questão de letras com acentuação, assim você reduz o código e resolve qualquer eventual problema desse tipo.
o meu ficou assim:
from unidecode import unidecode
frase = unidecode(input('Digite uma frase: ').upper().strip())
print('A letra A aparece {} vezes na frase' .format(frase.count('A')))
print('A primeira letra "A" aparece na posição {}.' .format(frase.find('A')+1))
print('A última letra "A" aparece na posição {}.' .format(frase.rfind('A')+1))
6:10 Ah, pensei que o «r» de «rfind» fosse do inglês «reverse» que significa «ao contrário».
Hahaha eu também, mas lembrei que rola a mesma coisa no strip com lstrip e rstrip
@@stadusunids Pois é, «lstrip» talvez seja a redundância de «strip». :D
@@RJLpt existe esta função (método) reverse() no Python, neste exercício também pode ser usado, mas acho que é mais trabalhoso.
Adorei mano! Tamos junto assim que começar a trabalhar na área graças a seus curos...Com certeza irei contruir para vocês continuarem fazendo esse trabalho de propagar a preogramação, que tão importante para todas as pessoas. Grato: Prof. Gustavo Guanabara e equipe.
Uma dúvida no exercício 26. A gente consegue reconhecer as letras transformando-as em maiúscula ou minúscula. Porém, temos as letras com acentos. Como eu faço pra ele reconhecer as letras com acentos?
As letras com acentos são outro caractere, a letra com acento maiusculo e acento minúsculo
Eu fiz o seguinte
frase = str(input('digite uma frase: ').lower().strip())
print ('A frase que você digitou foi: {} '.format(frase))
a = frase.count('a')
a1 = frase.count('á')
a2 = frase.count('à')
a3 = frase.count('ã')
print ('O numero de vezes que a letra A aparece é: {}'.format(a+a1+a2+a3))
print ('A letra A apareceu 1º na posição {}'.format(frase.find('a')+1))
print ('A letra A apareceu pela ultima vez na posição {}'.format(frase.rfind('a')+1))
ficou incompleto, porque faltou bastante variações de 'a' mas o básico padrão da língua portuguesa brasileira eu tentei suprir
É possível modificar a frase inserida removendo os acentos. Dá pra fazer isso importando o módulo "unidecode". Meu código ficou assim:
import unidecode #serve para remover os acentos
frase = str(input('Digite uma frase: ')).upper().strip()
frasesemacentos = unidecode.unidecode(frase)
print(frasesemacentos)
print(f'A letra "A" aparece um total de {frasesemacentos.count("A")} vez(es).')
print(f'Ela aparece pela primeira vez na posição {frasesemacentos.find("A") + 1} e pela última vez na posição {frasesemacentos.rfind("A") + 1}.')
Descobri isso nesse blog:
rogeriopradoj.com/2019/07/14/como-tirar-acentos-de-string-no-python-transliterate-unicodedata-e-unidecode//
se nao me engano .casefold() remove acento tbm, se pá
Esse +1 pra deixar a contagem mais simples eu não tinha pensado, é uma boa solução.
Acabei fazendo sem ela mesmo e contei igual ao Python kkkk
Ficou assim:
frase = input('Digite uma frase qualquer: ').strip()
print(frase)
print(f'Sua frase possui {frase.lower().count("a")} letras A ')
print(f'A letra A aparece primeiro na posição {frase.lower().find("a")}')
print(f'A letra A aparece por último na posição {frase.lower().rfind("a")}')
Se a letra em questão, estiver acentuada não irá reconhecer, como resolver isso?
Você pode dar o comando "replace" nas letras acentuadas para que sejam trocadas pela letra "a" sem acento. Meu código ficou assim:
print('=====Desafio 26=====')
frase = str(input('Digite uma frase: ')).strip()
frase = frase.lower()
frase = frase.replace('á','a')
frase = frase.replace('â','a')
frase = frase.replace('ã','a')
print('Sua frase tem {} letras "a".'.format(frase.count('a')))
print('A primeira letra "a" aparece na posição {}.'.format(frase.find('a') + 1))
print('A última letra "a" aparece na posição {}.'.format(frase.rfind('a') + 1))
é, faltou apenas remover também os espaços entre as palavras que também ocupam posição...
frase = str(input('Digite uma frase: ')).upper().strip()
frase = frase.replace('Á' , 'A')
frase = frase.replace('Ã' , 'A')
frase = frase.replace('À' , 'A')
frase = frase.replace(' ' , '')
print('A letra "A" aparece: {} vezes. '.format(frase.count('A')))
print('Aparece primeiro na posição: {}.'.format(frase.find('A')+1))
print('Aparece por último na posição: {}.'.format(frase.rfind('A')+1))
@@gianlucabianchi2650 faltou so o frase = frase.replace('à','a')
valeu ai, tava com essa duvida hehehe
Eu baixei e importei um módulo chamado unidecode que retira os acentos. Aí ficou assim:
import unidecode
frase = str(input('Insira uma frase: ')).strip()
frasenova = unidecode.unidecode(frase)
print('A letra "A" aparece {} vezes no texto.'.format(frasenova.upper().count('A')))
print('A primeira aparição da letra "A" é na posição {}.'.format(frasenova.upper().find('A')+1))
print('A última aparição da letra "A" é na posição {}.'.format(frasenova.upper().rfind('A')+1))
:)
não tinha pensado na questão das acentuações, bgddd
Faltou o rfind, mas ta valendo! Isso q ele deu dica na aula teorica hein kkkk
Beleza... porém e se colocarmos acentos.... se vc for encontrar as letras A's com acentos... todos ~´`^????????
o meu algoritimo faz isso... calcula todos... com acento ou sem....
Pode compartilhar conosco, por favor?
str(input('Digite um texto: ')).strip().lower().replace('ã', 'a').replace('â', 'a').replace( 'à', 'a').replace('á','a')
Como eu estou usando só o que o Guanabara nos ensina para fazer os exercícios, preferi fazer pela contagem:
b = str(input("Insira uma frase ")).strip()
print ("Na sua frase, a letra A apareceu {} vezes, sendo {} minúsculas e {} maiúsculas." .format(b.count('A') + b.count('a') + b.count('À') + b.count("à"), b.count('a') + b.count("à") , b.count('A') + b.count('À')))
Só adicionei as crases, faltaram os outros acentos, mas o princípio é igual.
O teu é mais detalhado e informa mais. Curti.
Não sabia do comando rfind. Só depois de pesquisar outros comandos é que vi o rfind e resolvi testar e acabou dando certo. Demorei a solucionar pois achei que toda a solução estava nos comandos ensinados na aula 9. Abraço.
GAFANHOTOS,
nessa resolução do desafio o Guanabara deixou passar uma coisa, a posição da ultima letra “a”, pois ele esqueceu de subtrair o espaço ( “ “ ) que ficam no meio da frase, então para o programa funcionar corretamente, o ultimo passo é:
print(‘A ultima letra A aparece na posição {}’.format(frase.rfind(‘a’) + 1 - frase.count(‘ ‘)))
salvou rei
Ele quer a posição da memória da ultima letra A. E também ele contou os espaços no vídeo, não foi nenhum erro.
@@esdrika360 mas se ele não começou do Zero pra não confundir o usuário, também não faz sentindo contar espaço, somente as letras
Esse exercício me foi intermediário...
Galera, o Guanabara cometeu um pequeno erro nesse código.
No desafio '2', o de mostrar a posição do primeiro 'A' só funciona caso o primeiro A esteja na primeira palavra da frase.
Caso a frase seja: Oi Amanda!
Ele contará os espaços e falará que a primeira letra se encontra na posição 4, sendo que o correto é na 3.
Para resolver isso, basta fazer isso:
print(f'A primeira letra A aparece na posição {frase.find("A")+1 - frase.count(" ")}')
No seu código também tem um problema. Pois se tiver espaços depois do último A ele tbm será retirado. O que eu fiz pra resolver isso foi:
nome = str(input('Digite a frase: ')).lower().strip()
x = nome.rfind('a')
print(f'Existem {nome.count("a")} As na sua frase.
'
f'O primeiro A é a {1 + nome.find("a")}º letra.
'
f'Aparece a última vez na {(1 + x) - nome.count(" ", 0, x)}º.')
Pra resolver é só dar um Split e depois join, pois assim a frase ficará toda junta. Essa técnica resolve maioria dos problemas para encontrar caracteres em posições
@@PedroPaulo-xz5mh Cara, mas o Guanabara usa o .strip que é pra justamente tirar qualquer possível espaço depois. Qual o sentido de querer contar os espaços depois que acabar a frase? O espaço entre as palavras é totalmente normal contar, não é? Senão o Guanabara teria comentado algo, eu acho
.replace(" ", "")
@@bennarthur ou n.replace(' ','')
Obrigado. Parabéns!!!
Amiguinhos gafanhotinhos....
Sou mais asno pra programar do que o Bozo pra governar!!!
Me Digam como faria para mostrar a posição de todos os A ("Ás", AA, Ases) dentro de uma frase???
Também sou burro para a lingua portuguesa...
XD
.find()[0:] eu acho.
obrigado a todos que compartilharam seus codigos e estao contribuindo e obrigado gustavo por no ensinar tanta coisa
o meu ficou assim:
frase = str(input('Digite uma frase: ')).upper().strip()
letra = str(input('Digite uma letra para saber imformaçoes sobre ela na frase: ')).upper().strip()
print('-' * 20)
q = frase.count(letra)
primeira = frase.find(letra) + 1
ultima = frase.rfind(letra) + 1
print(f'Resultados para a letra {letra}:')
print(f'Quantidade: {q}')
print(f'Posição da primeira: {primeira}')
print(f'Posição da última: {ultima}')
print('-' * 20)
Eu usei o rfind como ele disse( " algumas funções podem ter o r de right, fica a dica")
Nunca mais esqueci😅
fiquei tão feliz quando ele falou que ia dar erro quando desce espaço e eu já tinha feito no meu desde o início sem ele precisar falar nada
Gostei do curso 🖤
na versão nova do python vc pode usar o format como print(f'frase {conteudo(" ")}') e so funciona se algo q ta dentro da funcao q precisa de aspas dentro do parenteses tiver aspas duplas, tipo a funcao frase.count("a")
Essa acertei quase tudo, só não lembrava do rfind para contar do fim para o começo, mas não é tão difícil :)
maravilhoso 🥰 demais
Muito bom ótimo vídeo!!!
frase=str(input('Digite uma frase: ')).strip()
print('A letra A aparece {} vezes na frase.'.format(frase.upper.count('A')))
print('A primeira letra A apareceu na posição {}'.format(frase.upper.find('A')+1))
print('A última letra A aparece na posição {}'.format(frase.upper.rfind('A')+1))
Eu havia feito assim com .upper e cheguei no mesmo resultado.
É incrivel como sempre dá pra simplificar a resolução mudando apenas o .upper de lugar.
# Fiz pra poder escolher a letra da frase também.
frase = str(input('Digite sua frase: ')).upper().strip()
letra = str(input('Digite uma letra que esteja dentro da sua frase para a análise: ')).upper().strip()
print(f'A sua frase tem {frase.count(letra)} vezes a letra "{letra.lower()}".')
print(f'A primeira letra "{letra.lower()}" aparece na posição {frase.find(letra) + 1}.')
print(f'A última letra "{letra.lower()}" aparece na posição {frase.rfind(letra) + 1}.')
Obrigado professor!
SOU ANDERSON GONÇALVES, ESTUDEI ESSA AULA EM 20/05/22 POUSO ALTO MG BRASIL
esse eu fiz em 3 minutos
"O script é bem criado, o usuario o corrompe!" KKKKKKKKKKKKKK
fiz dessa forma
tx = str(input('Digite algo: ')).strip().upper()
letras = tx.count('A')
print(f'A letra A aparece {letras} na frase
'
f'A primeira letra A apareceu na posição {tx.replace('A', ' A').find('A')}
'
f'A ultima letra A apareceu na posição {tx.rfind('A')+1}')
Nem acredito que acertei o exercício logo de primeira! Também usei o rfind.
Muito Obrigado!!
PERFEITO
f = str(input('Digite uma frase:')).strip().upper()
e = f.count(' ')
a = f.count('A')
p = f.find('A')+1
u = f.rfind('A')+1
print(f'A letra ( A ) aparece {a} vezes na frase')
print(f'A primeira vez que ela apareceu foi na posição: {p}')
print(f'A última vez que ela apareceu foi: {u-e}')
Fiz desse modo, e acabei tbm tirando os espaços no meio da frase pra não atrapalhar ^^
legal esse LEFT RIGHT usa em outros modulos. LEGAL
mt massa, so faltou ensinar poder contar as letras juntos com acentos
frase = str(input('Por favor digite uma frase:')).upper()
c = frase.count('A')
print('Na sua frase a letra A aparece:', c, 'vezes')
frase.strip()
s = frase.find('A')+1
print('na sua frase a letra A aparece primeiro na posição:', s)
t = frase.rfind('A')+1
print('Na sua frase a letra A aparece a ultima vez em', t)
para quem não conseguiu fazer, não desanime, pois só consegui concluir tudo olhando o vídeo do professor.
Fiquei quebrando a cabeça, mas só era acrescentar a função .upper e +1.
Atualizei o +1 e deixei algumas funções mais otimizadas, mas consegui fazer. É muito satisfatório!!!
print('Exercício26: Analisador de frase')
frase = str(input('Digite uma frase: ')).strip().lower()
# Quantas vezes aparece a letra A
print('A letra "A" aparece na frase {} vezes. '.format(frase.count('a')))
print('A letra "A" aparece primeiro na posição {}. '.format(frase.find('a')+1))
print('A letra "A" aparece por último na posição {}. '.format(frase.rfind('a')+1))
Tava la na plataforma mas tive que vir ate aqui pra dar o like pela frase filosofica no final. hahahaha
Bom vídeo. :)
Mais um exercício que não resolvi! RFIND!!!!! rs... e são esses que eu gosto! 24/26
Senti falta da explicação para os ã, á, à... mas o .replace() já ajuda...
Bem legal, treina bastante o que apareceu nas aulas de manipulação de texto. Esse eu fiz de uma forma menos prática, mas o que importa é que saiu hahah
Vida longa aos que ajudam tanto com conteúdo de tanta qualidade e em português, você é raro Guanabara. Um grande abraço!
frase = input('Digite uma frase: ')
frase = frase.strip().lower
contador = frase.count('a')
if contador == 0:
print('A letra A não aparece na frase')
elif contador == 1:
print('A única letra A aparece na posição {}'.format(frase.find('a')+1))
else:
print('A primeira letra A aparece na prosição {} e a última na posição {}'.format(frase.find('a')+1, frase.rfind('a')+1))
Existe o 'strip()' para poder retirar espacos antes e no final da str, mas existe algum metodo para remover espacos excessivos entre as frases?
Pq o programa assim tbm ficaria errado se colocar espacos entre elas...
Consegui fazer 66%, o ultimo não lembrava de um "rightfind".... kkkkkk
Ler da esquerda pra direita, de cima pra baixo... PC não faz assim... kkkk
Todos os dias mais um aprendizado. 🚀
e eu que pensei em usar mas nem escrevi pois na hora me veio a cabeça "r deve ser só pra strip então n vai funcionar" kkkkkkkkkkkkkkkkkkkkkkkk
Fiquei muito orgulhoso de mim quando eu pensei: "Não tenho que mostrar a última letra. Eu tenho que mostrar a primeira de trás pra frente!".
No final, eu usei find('A', -1). Já que o1 negativo faz começar a contar pelo final, igual o rfind
Cara, me senti um gênio por ter usado o variável.rfind() , mas esse +1 me pegou de surpresa.
O ultimo A deveria aparecer na posição 6, então eu tirei os espaços do meio das letras assim:
frase = str(input('Escreva uma frase: ')).upper().strip()
print('A letra A aparece {} vezes na frase.'.format(frase.count('A')))
print('A primeira letra A aperece na posição {}.'.format(frase.find('A')+1))
print('A ultima letra A aparece na posição {}.'.format(len(frase) - frase.count(' '),frase.rfind('A')))
#import unidecode para tirar acentos
import unidecode
f = str(input('Digite uma frase: ')).upper().strip()
new_f = unidecode.unidecode(f)
print('A letra A aparece {} vezes na frase'.format(new_f.count('A')))
print('A primeira letra A apareceu na posição {}'.format(new_f.find('A') + 1))
print('Á ultima letra A apareceu na posição {}'.format(new_f.rfind('A') + 1))
Qual é o pip desse módulo?