Мне нужно знать, если есть функция, которая распознает строчные буквы в строке. Сказать, что я начал писать эту программу:
s = input('Type a word')
Будет ли функция, которая позволяет мне обнаружить строчной буквы в строке s? Возможно, до назначения этих букв на другую переменную, или просто печатать заглавные буквы или номер строчные буквы.
Хотя бы те, что я хотел бы с ней делать я'м всего заинтересованы в том, чтобы обнаружить присутствие строчных букв. Простейшие методы можно было бы только приветствовать, я только в вводный курс Python, так что мой учитель не'т хотите, чтобы увидеть комплексные решения, когда я принимаю экзамен. Спасибо за помощь!
Чтобы проверить, является ли символ в нижнем регистре, используйте 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'
Вы можете использовать встроенную функцию любой
и генератор.
>>> any(c.islower() for c in 'Word')
True
>>> any(c.islower() for c in 'WORD')
False
Есть 2 различных способа вы можете искать символы в нижнем регистре:
.islower()
, чтобы найти строчные буквы. В сочетании с пониманием списке, вы можете собрать все строчные буквы:строчной = [C при C В С, если c.islower()]
импорт заново
ЛНР = ре.компиляции('[а-Z]+') строчной = ЛНР.метод findAll(с)
Первый метод возвращает список отдельных символов, Второй возвращает список символов группы:
>>> import re
>>> lc = re.compile('[a-z]+')
>>> lc.findall('AbcDeif')
['bc', 'eif']
Есть много методов для этого, вот некоторые из них:
ул.
метод islower()
:с = 'Это' в.islower() Правда
с = 'Это' ОГА(с) в диапазоне(97, 123) Правда
с = 'Это' в.ниже() == с Правда
в
строку` модуль:от импорта строку 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
Вы должны использовать 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
и прочие атрибуты стр
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