lower python string lowercase letters

lower - ¿Cómo detectar letras minúsculas en Python?



string contains python (6)

Necesito saber si hay una función que detecta las letras minúsculas en una cadena. Digamos que comencé a escribir este programa:

s = input(''Type a word'')

¿Habría una función que me permita detectar una letra minúscula dentro de la cadena s? Posiblemente termine asignando esas letras a una variable diferente, o simplemente imprimiendo las letras minúsculas o el número de letras minúsculas.

Si bien eso sería lo que me gustaría hacer con él, estoy más interesado en cómo detectar la presencia de letras minúsculas. Los métodos más simples serían bienvenidos, solo estoy en un curso introductorio de python para que mi profesor no quiera ver soluciones complejas cuando tomo mi examen de medio término. ¡Gracias por la ayuda!


Debe usar raw_input para tomar una entrada de cadena. A continuación, utilice islower método más islower de objeto str .

s = raw_input(''Type a word'') l = [] for c in s.strip(): if c.islower(): print c l.append(c) print ''Total number of lowercase letters: %d''%(len(l) + 1)

Solo haz -

dir(s)

y encontrarás islower y otros atributos de str


Hay 2 formas diferentes de buscar caracteres en minúsculas:

  1. Usa str.islower() para encontrar caracteres en minúscula. Combinado con una lista de comprensión, puede reunir todas las letras minúsculas:

    lowercase = [c for c in s if c.islower()]

  2. Podrías usar una expresión regular:

    import re lc = re.compile(''[a-z]+'') lowercase = lc.findall(s)

El primer método devuelve una lista de caracteres individuales, el segundo devuelve una lista de grupos de caracteres:

>>> import re >>> lc = re.compile(''[a-z]+'') >>> lc.findall(''AbcDeif'') [''bc'', ''eif'']


Hay muchos métodos para esto, aquí están algunos de ellos:

  1. Usando la función predefinida character.islower ():

    >>> c = ''a'' >>> print(c.islower()) #this prints True

  2. Usando la función ord () para verificar si el código ASCII de la letra está en el rango de los códigos ASCII de los caracteres en minúscula:

    >>> c = ''a'' >>> print(ord(c) in range(97,123)) #this will print True

  3. Comprobando si la letra es igual a su minúscula:

    >>> c = ''a'' >>> print(c.lower()==c) #this will print True

Pero eso puede no ser todo, puede encontrar sus propios caminos si no le gustan estos: D.

Finalmente, comencemos a detectar:

d = str(input(''enter a string : '')) lowers = [c for c in d if c.islower()] #here i used islower() because it''s the shortest and most-reliable one (being a predefined function), using this list comprehension is the most efficient way of doing this


Para verificar si un carácter está en minúscula, use el método más islower de str . Este sencillo e imperativo programa imprime todas las letras en minúscula de tu cadena:

for c in s: if c.islower(): print c

Tenga en cuenta que en Python 3 debe usar print(c) lugar de print c .

Posiblemente termine asignando esas letras a una variable diferente.

Para hacer esto, sugiero utilizar una lista de comprensión, aunque es posible que no haya cubierto esto todavía en su curso:

>>> s = ''abCd'' >>> lowercase_letters = [c for c in s if c.islower()] >>> print lowercase_letters [''a'', ''b'', ''d'']

O para obtener una cadena puede usar ''''.join con un generador:

>>> lowercase_letters = ''''.join(c for c in s if c.islower()) >>> print lowercase_letters ''abd''


Puede utilizar la función incorporada any y generador.

>>> any(c.islower() for c in ''Word'') True >>> any(c.islower() for c in ''WORD'') False


import re s = raw_input(''Type a word: '') slower=''''.join(re.findall(r''[a-z]'',s)) supper=''''.join(re.findall(r''[A-Z]'',s)) print slower, supper

Huellas dactilares:

Type a word: A Title of a Book itleofaook ATB

O puedes usar una lista de comprensión / expresión de generador:

slower=''''.join(c for c in s if c.islower()) supper=''''.join(c for c in s if c.isupper()) print slower, supper

Huellas dactilares:

Type a word: A Title of a Book itleofaook ATB