Как найти строчные буквы питон

I need to know if there is a function that detects the lowercase letters in a string. Say I started writing this program:

s = input('Type a word')

Would there be a function that lets me detect a lowercase letter within the string s? Possibly ending up with assigning those letters to a different variable, or just printing the lowercase letters or number of lowercase letters.

While those would be what I would like to do with it I’m most interested in how to detect the presence of lowercase letters. The simplest methods would be welcome.

Zoe stands with Ukraine's user avatar

asked Oct 17, 2012 at 13:04

JustaGuy313's user avatar

4

To check if a character is lower case, use the islower method of str. This simple imperative program prints all the lowercase letters in your string:

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

Note that in Python 3 you should use print(c) instead of print c.


Possibly ending up with assigning those letters to a different variable.

To do this I would suggest using a list comprehension, though you may not have covered this yet in your course:

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

Or to get a string you can use ''.join with a generator:

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

answered Oct 17, 2012 at 13:07

Mark Byers's user avatar

Mark ByersMark Byers

804k190 gold badges1574 silver badges1450 bronze badges

0

There are 2 different ways you can look for lowercase characters:

  1. Use str.islower() to find lowercase characters. Combined with a list comprehension, you can gather all lowercase letters:

    lowercase = [c for c in s if c.islower()]
    
  2. You could use a regular expression:

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

The first method returns a list of individual characters, the second returns a list of character groups:

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

answered Oct 17, 2012 at 13:10

Martijn Pieters's user avatar

Martijn PietersMartijn Pieters

1.0m292 gold badges4014 silver badges3316 bronze badges

6

There are many methods to this, here are some of them:

  1. Using the predefined str method islower():

    >>> c = 'a'
    >>> c.islower()
    True
    
  2. Using the ord() function to check whether the ASCII code of the letter is in the range of the ASCII codes of the lowercase characters:

    >>> c = 'a'
    >>> ord(c) in range(97, 123)
    True
    
  3. Checking if the letter is equal to it’s lowercase form:

    >>> c = 'a'
    >>> c.lower() == c
    True
    
  4. Checking if the letter is in the list ascii_lowercase of the string module:

    >>> from string import ascii_lowercase
    >>> c = 'a'
    >>> c in ascii_lowercase
    True
    

But that may not be all, you can find your own ways if you don’t like these ones: D.

Finally, let’s start detecting:

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

answered May 4, 2016 at 20:32

DjaouadNM's user avatar

DjaouadNMDjaouadNM

21.9k4 gold badges32 silver badges54 bronze badges

2

You should use raw_input to take a string input. then use islower method of str object.

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)

Just do –

dir(s)

and you will find islower and other attributes of str

answered Oct 17, 2012 at 13:13

Hussain's user avatar

HussainHussain

5,0096 gold badges44 silver badges71 bronze badges

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

Prints:

Type a word: A Title of a Book
itleofaook ATB

Or you can use a list comprehension / generator expression:

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

Prints:

Type a word: A Title of a Book
itleofaook ATB

answered Oct 17, 2012 at 13:10

If you don’t want to use the libraries and want simple answer then the code is given below:

  def swap_alpha(test_string):
      new_string = ""
      for i in test_string:
          if i.upper() in test_string:
              new_string += i.lower()

          elif i.lower():
                new_string += i.upper()

          else:
              return "invalid "

      return new_string


user_string = input("enter the string:")
updated = swap_alpha(user_string)
print(updated)

answered Jun 14, 2020 at 12:47

Pramod Rijal's user avatar

Учусь немного программированию на сайте: checkio.org. Пошли задания связанные с текстом, символами.


Задание:
Проверить все ли символы в строке являются заглавными. Если строка пустая или в ней нет букв – функция должна вернуть True.

Входные данные: Строка
Выходные данные: Логический тип
Условия: a-z, A-Z, 1-9 и пробелы

Вот заготовленный код:

def is_all_upper(text: str) -> bool:
    # your code here
    return False


if __name__ == '__main__':
    print("Example:")
    print(is_all_upper('ALL UPPER'))

    # These "asserts" are used for self-checking and not for an auto-testing
    assert is_all_upper('ALL UPPER') == True
    assert is_all_upper('all lower') == False
    assert is_all_upper('mixed UPPER and lower') == False
    assert is_all_upper('') == True
    assert is_all_upper('     ') == True
    assert is_all_upper('444') == True
    assert is_all_upper('55 55 5') == True
    print("Coding complete? Click 'Check' to earn cool rewards!")

Вот моя версия кода:

def is_all_upper(text: str) -> bool:
    if (any(x.isupper() or x.islower() or x.isdigit() or x.isspace() for x in text)):
        return True
    else:
        return False

В данном случае проскакивает только первый тест ALL UPPER, дальше all lower не идёт.

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

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

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


Возможно, в конечном итоге присвоение этих букв другой переменной.

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

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

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

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

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

s = input('Type a word')

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

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

4b9b3361

Ответ 1

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

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

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


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

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

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

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

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

Ответ 2

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

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

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

Ответ 3

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

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

    lowercase = [c for c in s if c.islower()]
    
  • Вы можете использовать регулярное выражение:

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

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

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

Ответ 4

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

  1. Используя предопределенную функцию str.islower():

    >>> c = 'a'
    >>> c.islower()
    True
    
  2. Использование функции ord() для проверки того, находится ли код ASCII буквы в диапазоне кодов ASCII строчных букв:

    >>> c = 'a'
    >>> ord(c) in range(97, 123)
    True
    
  3. Проверка, соответствует ли буква строчной букве:

    >>> c = 'a'
    >>> c.lower() == c
    True
    
  4. Проверка, находится ли буква в списке ascii_lowercase string модуля:

    >>> from string import ascii_lowercase
    >>> c = 'a'
    >>> c in ascii_lowercase
    True
    

Но это еще не все, вы можете найти свои собственные пути, если вам не нравятся эти: D.

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

d = str(input('enter a string : '))
lowers = [c for c in d if c.islower()]

# here i used islower() because it the shortest and most-reliable
# one (being a predefined function), using this list comprehension
# is (probably) the most efficient way of doing this

Ответ 5

Вы должны использовать raw_input для ввода строки. затем используйте метод islower объекта 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)

Просто сделай –

dir(s)

и вы найдете islower и другие атрибуты str

Ответ 6

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

6 ответов

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

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

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


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

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

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

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

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

Mark Byers
17 окт. 2012, в 13:39

Поделиться

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

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

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

Hyungoo Kang
17 окт. 2012, в 15:03

Поделиться

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

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

    lowercase = [c for c in s if c.islower()]
    
  • Вы можете использовать регулярное выражение:

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

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

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

Martijn Pieters
17 окт. 2012, в 14:31

Поделиться

Существует много методов, вот некоторые из них:

  • Использование предопределенной функции character.islower():

    >>> c = 'a'
    >>> print(c.islower()) #this prints True
    
  • Использование функции ord() для проверки того, является ли код ASCII буквы в диапазоне кодов ASCII символов нижнего регистра:

    >>> c = 'a'
    >>> print(ord(c) in range(97,123)) #this will print True
    
  • Проверьте, соответствует ли буква буквой:

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

Но это может быть не все, вы можете найти свои собственные способы, если вам не нравятся эти: D.

Наконец, начнем обнаруживать:

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

Mr Geek
04 май 2016, в 22:02

Поделиться

Вы должны использовать raw_input для ввода строки. затем используйте метод islower объекта 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)

Просто сделай –

dir(s)

и вы найдете islower и другие атрибуты str

Hussain
17 окт. 2012, в 13:44

Поделиться

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

user648852
17 окт. 2012, в 14:39

Поделиться

Ещё вопросы

  • 0Открытый CV traincascade застревает со скоростью попадания 1 и ложной тревогой 0
  • 0Почему значение файла cookie, который я устанавливаю (строка), увеличивается на единицу при установке из $ _GET?
  • 0varchar m: d: YH: i: s для преобразования формата даты и времени в mysql
  • 1Среднечасовые данные данных CSV
  • 0li.hover не меняет цвет
  • 1Разбор HTML тега div с помощью Jsoup
  • 0Как вставить скобки в имя столбца моей таблицы SQL?
  • 0Удалить из всех таблиц, где ip равен ip
  • 0MVC Список моделей в AngularJs
  • 1Рабочий каталог при запуске в eclipse, cmd и jar
  • 1Оптимизация хвостового вызова в JavaScript не работает
  • 1Управлять порядком столбцов данных json, возвращаемых методом Json () в ASP.NET MVC
  • 0Конструктор копирования C ++ принимает неправильные значения
  • 0Улучшение сцепленных запросов левого соединения в одной строке результатов
  • 0AngularFire & Ionic – форма данных не передается на сервер
  • 0Запуск 2 xampp на том же локальном компьютере
  • 0Выделение элементов в TreeView C ++ BUILDER
  • 0Как экспортировать DataTable в Excel с выбранным столбцом
  • 1Обрабатывать ложные аргументы
  • 1Извлечение значений столбца в зависимости от условий
  • 0Назначить случайный background.color для объектов со случайным идентификатором
  • 1перестановки определенных цифр в Java
  • 1Измерьте время состязания в замках
  • 1Проходя Tuple для просмотра, просматривайте результаты
  • 1База данных для оружия?
  • 0Проверка имени пользователя удаленной проверки JQuery
  • 0PHP: как вернуть счетчик значения из рекурсивной функции?
  • 0удалите <td>, который добавляется динамически через jquery
  • 1сериализация и десериализация объектов из разных мест
  • 0«Неизвестный сервер MySQL» при использовании Flask в Python
  • 0AngularJS проверяет строку таблицы с кнопками обновления в каждой строке
  • 1C # – включить / отключить DHCP
  • 1Наблюдаемый список Приведение / Конверсия
  • 1Проблемы с предсказанием движения снаряда по методу Эйлера
  • 1как изменить кнопку отправки в соответствии с порядком списка Java?
  • 1Паспорт Локальная стратегия не называется
  • 0Генератор случайных функций между двумя целыми числами C ++
  • 1hdf5storage.write () не сохраняет в указанный путь?
  • 0Как я могу использовать jQuery для обновления поля в моей модели рельсов?
  • 1Android предотвращает удаление автономных данных или базы данных при событии «Очистить данные»
  • 0PHP перенаправить с if, if else и else
  • 1Боке: Не удается обновить формат всплывающей подсказки
  • 1Пропуск рабочего до готового?
  • 1Символ зоны currentTask Ionic2 ошибка с использованием нескольких обещаний
  • 1Узел JS Как отправить изображение вместе с запросом данных на другой сервер / API
  • 0Ссылаясь на корневой каталог
  • 1Изображение не загружается из Firebase
  • 1в чем причина добавления applicationContext-dao.xml и applicationContext-service.xml в контексте приложения
  • 1Discord.py Бот отправляет файл на канал Discord
  • 1Передача IEnumerable <string> в хранимую процедуру SQL Server в качестве пользовательского параметра типа таблицы

Добавить комментарий