Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
Gustavo Germano

Python contagem de vogais e digitos

Recommended Posts

Boa noite. Como faço para contar o total de dígitos e vogais em todas as strings , incluindo as repetidas?Meu programa ta informando apenas a quantidade de strings com dígitos ou vogais:

E tb como faço para informar a string de maior comprimento?

def contandoVogal(frase):

    for x in frase:

        if x in ['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U']:

              return True

    return False

def contandodigitos(numeros):

      for x in numeros:

           if x in ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']:

                 return True

      return False

def palindrome(s):

        if len(s) <= 1:

                return True

        else: return s[0] == s[len(s) - 1] and palindrome(s[1:len(s) - 1])



contaVogais = 0

contaDigitos=0

contaPalindromas=0

lida = input("Informe uma string: ")

      while lida != "":

            if palindrome(lida):

                 contaPalindromas += 1

                 print(lida, "é Palíndrome")

            if contandoVogal(lida):

                   contaVogais += 1

            if contandodigitos(lida):

                   contaDigitos += 1

    lida = input("Informe mais uma string: ")



print("A quantidade de vogais lidas é", contaVogais)

print("A quantidade de dígitos lidos é:", contaDigitos)

print("A quantidade de Palíndromas Lidas é:", contaPalindromas)

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Gustavo Germano     para somar os dígitos e as vogais de todas as string  e ir acumulando esse valor a cada string informada pelo usuário, você pode verificar se é numero ou letra usando o comando ord que pega o valor ascii do caratere,  e então compara para ver se é de 48 até 57 então é número  e se for de 65 até 90 é letras maiúsculas e se for de 97 até 122 é letras minúsculas,  e assim você faz a contagem ,  então seu código com algumas modificações ficaria assim :

str_maior=0
contaDigitos = 0
contaVogais = 0
a=1
c=1
while c > 0:
    lida = input("Informe mais uma string: ou zero para sair ")
    a = len(lida)
    if a > str_maior:
        str_maior=a
        string=lida
    c = ord(lida[0])-48
    print(' ')
    if c != 0:
        for i in range(a):
            b=ord(lida[i])
            if b>47 and b<58:
               contaDigitos +=1
            else:
                if b>64 and b<91 or b>96 and b<123:
                    contaVogais +=1
        print("A quantidade de vogais lidas é", contaVogais)
        print("A quantidade de dígitos lidos é:", contaDigitos)
        #print("A quantidade de Palíndromas Lidas é:", contaPalindromas)
        print('a Maior string é ->',string,', com',str_maior,'caracteres')
    print(' ')

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora
Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×