Как обнаружить строчные буквы в Python?

Мне нужно знать, если есть функция, которая распознает строчные буквы в строке. Сказать, что я начал писать эту программу:

s = input('Type a word')

Будет ли функция, которая позволяет мне обнаружить строчной буквы в строке s? Возможно, до назначения этих букв на другую переменную, или просто печатать заглавные буквы или номер строчные буквы.

Хотя бы те, что я хотел бы с ней делать я'м всего заинтересованы в том, чтобы обнаружить присутствие строчных букв. Простейшие методы можно было бы только приветствовать, я только в вводный курс Python, так что мой учитель не'т хотите, чтобы увидеть комплексные решения, когда я принимаю экзамен. Спасибо за помощь!

Комментарии к вопросу (4)

Чтобы проверить, является ли символ в нижнем регистре, используйте islower метод ул. Этот простой императив выводит программы все строчные буквы в строке:

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

Обратите внимание, что в Python 3, Вы должны использовать печать(с) "вместо" печатать с.


возможно, до назначения этих букв на другую переменную.

Для этого я хотел бы предложить, используя список понимания, хотя вы, возможно, не покрытые еще в вашем курсе:

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

Или, чтобы получить строку, вы можете использовать`''.вместе с генератором:

>>> lowercase_letters = ''.join(c for c in s if c.islower())
>>> print lowercase_letters
'abd'
Комментарии (0)

Вы можете использовать встроенную функцию любой и генератор.

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

>>> any(c.islower() for c in 'WORD')
False
Комментарии (2)

Есть 2 различных способа вы можете искать символы в нижнем регистре:

  1. Ул. используйте .islower(), чтобы найти строчные буквы. В сочетании с пониманием списке, вы можете собрать все строчные буквы:

строчной = [C при C В С, если c.islower()]

  1. Вы могли бы использовать регулярное выражение:

импорт заново

ЛНР = ре.компиляции('[а-Z]+') строчной = ЛНР.метод findAll(с)

Первый метод возвращает список отдельных символов, Второй возвращает список символов группы:

>>> import re
>>> lc = re.compile('[a-z]+')
>>> lc.findall('AbcDeif')
['bc', 'eif']
Комментарии (7)

Есть много методов для этого, вот некоторые из них:

  1. Используя предопределенные ул. метод islower():

с = 'Это' в.islower() Правда

  1. Используя ОГА () функция, чтобы проверить, является ли код ASCII Буквы в диапазоне ASCII-коды символов нижнего регистра:

с = 'Это' ОГА(с) в диапазоне(97, 123) Правда

  1. Проверка если буква равна его's форма в нижнем регистре:

с = 'Это' в.ниже() == с Правда

  1. Проверки, если письмо в ascii_lowercase список `встроку` модуль:

от импорта строку ascii_lowercase с = 'Это' > C в ascii_lowercase Правда

Но это не может быть все, вы можете найти свои собственные способы, Если вы Don'т, как эти: Д.

Наконец, позвольте'ы начать обнаруживать:

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 (probably) the most efficient way of doing this
Комментарии (2)

Вы должны использовать raw_input в строке ввода. затем используйте метод islower о объекта ул..

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)

Вобще -

dir(s)

и вы найдете islower и прочие атрибуты стр

Комментарии (1)
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

Печать:

Type a word: A Title of a Book
itleofaook ATB

Или вы можете использовать список понимание / генератор выражение:

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

Печать:

Type a word: A Title of a Book
itleofaook ATB
Комментарии (0)