Метод str.isupper() в Python, проверяет строку на верхний регистр
Проверяет, что все символы строки находятся в верхнем регистре
Синтаксис:
str.isupper()
Параметры:
Возвращаемое значение:
- bool , True — если все слова имеют верхний регистр символов
Описание:
Метод str.isupper() возвращает True , если все символы в строке str прописные (имеют верхний регистр), при этом строка не должна быть пустой, то есть должна иметь хотя бы один символ в верхнем регистре и не состоять из одних пробелов.
Метод str.isupper() во всех других случаях возвращает False .
Строка состоящая из символов не имеющих возможности приведение к верхнему регистру также будет возвращать False .
Например выражение ‘379’.isupper() возвращает False .
Для приведения символов строки к верхнему регистру используйте метод str.upper() .
Примеры проверки строки на верхний регистр.
>>> ''.isupper() # False >>> 'а'.isupper() # False >>> 'А'.isupper() # True >>> '20'.isupper() # False >>> 'Это 20'.isupper() # False >>> 'ЭТО 20'.isupper() # True >>> 'ВСЕ СИМВОЛЫ в СТРОКЕ ПРОПИСНЫЕ (ИМЕЮТ ВЕРХНИЙ РЕГИСТР)'.isupper() # False >>> 'ВСЕ СИМВОЛЫ В СТРОКЕ ПРОПИСНЫЕ (ИМЕЮТ ВЕРХНИЙ РЕГИСТР)'.isupper() # True
- ОБЗОРНАЯ СТРАНИЦА РАЗДЕЛА
- Метод str.capitalize(), первая буква в строке заглавная
- Метод str.casefold(), сворачивает регистр строки
- Метод str.center(), выравнивает строку по центру
- Метод str.count(), считает совпадения в строке
- Метод str.encode(), преобразует строку в байты
- Метод str.endswith(), совпадение с концом строки
- Метод str.expandtabs(), меняет табуляцию на пробел
- Метод str.find(), индекс первого совпадения в строке
- Метод str.format(), форматирует строку
- Метод str.format_map()
- Метод str.index(), индекс первого совпадения подстроки
- Метод str.isalnum(), строка состоит из цифр и букв
- Метод str.isalpha(), строка состоит только из букв
- Метод str.isascii(), все символы в строке являются ASCII
- Метод str.isdecimal(), проверяет строку на десятичное число
- Метод str.isdigit(), строка состоит только из цифр
- Метод str.isidentifier() проверяет строку на идентификатор Python
- Метод str.islower( ), проверяет строку на нижний регистр
- Метод str.isnumeric(), проверяет строку на числовые символы
- Метод str.isprintable(), проверяет на доступность для печати
- Метод str.isspace(), является ли строка пробелом
- Метод str.istitle(), проверяет наличие заглавных букв в словах
- Метод str.isupper(), проверяет строку на верхний регистр
- Метод str.join(), объединяет список строк
- Метод str.ljust(), ровняет строку по левому краю
- Метод str.lower(), строку в нижний регистр
- Метод str.lstrip(), обрезает символы в начале строки
- Метод str.maketrans(), таблица символов для str.translate()
- Метод str.partition(), делит строку по первому совпадению
- Метод str.removeprefix(), удаляет префикс строки
- Метод str.removesuffix(), удаляет суффикс строки
- Метод str.replace(), меняет подстроку/символ в строке
- Метод str.rfind(), индекс последнего совпадения подстроки
- Метод str.rindex(), индекс последнего совпадения в строке
- Метод str.rjust(), ровняет строку по правому краю
- Метод str.rpartition(), делит строку по последнему совпадению
- Метод str.rsplit(), делит строку справа
- Метод str.rstrip(), обрезает символы на конце строки
- Метод str.split(), делит строку по подстроке
- Метод str.splitlines(), делит текст по символу ‘\n’
- Метод str.startswith(), совпадение с началом строки
- Метод str.strip(), обрежет строку с обоих концов
- Метод str.swapcase(), сменит регистр символов в строке
- Метод str.title(), каждое слово с заглавной буквы
- Метод str.translate(), транслирование строки
- Метод str.upper(), переведет строку в верхний регистр
- Метод str.zfill(), дополнит строку нулями
- Форматирование строк в стиле printf
- F-string. Форматированные строки
Как проверить регистр буквы python
Рассмотрим основные методы строк, которые мы можем применить в приложениях:
- isalpha() : возвращает True, если строка состоит только из алфавитных символов
- islower() : возвращает True, если строка состоит только из символов в нижнем регистре
- isupper() : возвращает True, если все символы строки в верхнем регистре
- isdigit() : возвращает True, если все символы строки — цифры
- isnumeric() : возвращает True, если строка представляет собой число
- startswith(str) : возвращает True, если строка начинается с подстроки str
- endswith(str) : возвращает True, если строка заканчивается на подстроку str
- lower() : переводит строку в нижний регистр
- upper() : переводит строку в вехний регистр
- title() : начальные символы всех слов в строке переводятся в верхний регистр
- capitalize() : переводит в верхний регистр первую букву только самого первого слова строки
- lstrip() : удаляет начальные пробелы из строки
- rstrip() : удаляет конечные пробелы из строки
- strip() : удаляет начальные и конечные пробелы из строки
- ljust(width) : если длина строки меньше параметра width, то справа от строки добавляются пробелы, чтобы дополнить значение width, а сама строка выравнивается по левому краю
- rjust(width) : если длина строки меньше параметра width, то слева от строки добавляются пробелы, чтобы дополнить значение width, а сама строка выравнивается по правому краю
- center(width) : если длина строки меньше параметра width, то слева и справа от строки равномерно добавляются пробелы, чтобы дополнить значение width, а сама строка выравнивается по центру
- find(str[, start [, end]) : возвращает индекс подстроки в строке. Если подстрока не найдена, возвращается число -1
- replace(old, new[, num]) : заменяет в строке одну подстроку на другую
- split([delimeter[, num]]) : разбивает строку на подстроки в зависимости от разделителя
- partition(delimeter) : разбивает строку по разделителю на три подстроки и возвращает кортеж из трех элементов — подстрока до разделителя, разделитель и подстрока после разделителя
- join(strs) : объединяет строки в одну строку, вставляя между ними определенный разделитель
Например, если мы ожидаем ввод с клавиатуры числа, то перед преобразованием введенной строки в число можно проверить, с помощью метода isnumeric() введено ли в действительности число, и если так, то выполнить операцию преобразования:
string = input("Введите число: ") if string.isnumeric(): number = int(string) print(number)
Проверка, начинается или оканчивается строка на определенную подстроку:
file_name = "hello.py" starts_with_hello = file_name.startswith("hello") # True ends_with_exe = file_name.endswith("exe") # False
Удаление пробелов в начале и в конце строки:
string = " hello world! " string = string.strip() print(string) # hello world!
Дополнение строки пробелами и выравнивание:
print("iPhone 7:", "52000".rjust(10)) print("Huawei P10:", "36000".rjust(10))
iPhone 7: 52000 Huawei P10: 36000
Поиск в строке
Для поиска подстроки в строке в Python применяется метод find() , который возвращает индекс первого вхождения подстроки в строку и имеет три формы:
- find(str) : поиск подстроки str ведется с начала строки до ее конца
- find(str, start) : параметр start задает начальный индекс, с которого будет производиться поиск
- find(str, start, end) : параметр end задает конечный индекс, до которого будет идти поиск
Если подстрока не найдена, метод возвращает -1:
welcome = "Hello world! Goodbye world!" index = welcome.find("wor") print(index) # 6 # поиск с 10-го индекса index = welcome.find("wor",10) print(index) # 21 # поиск с 10 по 15 индекс index = welcome.find("wor",10,15) print(index) # -1
Замена в строке
Для замены в строке одной подстроки на другую применяется метод replace() :
- replace(old, new) : заменяет подстроку old на new
- replace(old, new, num) : параметр num указывает, сколько вхождений подстроки old надо заменить на new. По умолчанию num равно -1, что соответствует первой версии метода и приводит к замене всех вхождений.
phone = "+1-234-567-89-10" # замена дефисов на пробел edited_phone = phone.replace("-", " ") print(edited_phone) # +1 234 567 89 10 # удаление дефисов edited_phone = phone.replace("-", "") print(edited_phone) # +12345678910 # замена только первого дефиса edited_phone = phone.replace("-", "", 1) print(edited_phone) # +1234-567-89-10
Разделение на подстроки
Метод split() разбивает строку на список подстрок в зависимости от разделителя. В качестве разделителя может выступать любой символ или последовательность символов. Данный метод имеет следующие формы:
- split() : в качестве разделителя используется пробел
- split(delimeter) : в качестве разделителя используется delimeter
- split(delimeter, num) : параметр num указывает, сколько вхождений delimeter используется для разделения. Оставшаяся часть строки добавляется в список без разделения на подстроки
text = "Это был огромный, в два обхвата дуб, с обломанными ветвями и с обломанной корой" # разделение по пробелам splitted_text = text.split() print(splitted_text) print(splitted_text[6]) # дуб, # разбиение по запятым splitted_text = text.split(",") print(splitted_text) print(splitted_text[1]) # в два обхвата дуб # разбиение по первым пяти пробелам splitted_text = text.split(" ", 5) print(splitted_text) print(splitted_text[5]) # обхвата дуб, с обломанными ветвями и с обломанной корой
Еще один метод — partition() разбивает строку по разделителю на три подстроки и возвращает кортеж из трех элементов — подстрока до разделителя, разделитель и подстрока после разделителя:
text = "Это был огромный, в два обхвата дуб, с обломанными ветвями и с обломанной корой" text_parts = text.partition("дуб") print(text_parts) # ('Это был огромный, в два обхвата ', 'дуб', ', с обломанными ветвями и с обломанной корой')
Если разделитель с строке не найден, то возвращается кортеж с одной строкой.
Соединение строк
При рассмотрении простейших операций со строками было показано, как объединять строки с помощью операции сложения. Другую возможность для соединения строк представляет метод join() : он объединяет список строк. Причем текущая строка, у которой вызывается данный метод, используется в качестве разделителя:
words = ["Let", "me", "speak", "from", "my", "heart", "in", "English"] # разделитель - пробел sentence = " ".join(words) print(sentence) # Let me speak from my heart in English # разделитель - вертикальная черта sentence = " | ".join(words) print(sentence) # Let | me | speak | from | my | heart | in | English
Вместо списка в метод join можно передать простую строку, тогда разделитель будет вставляться между символами этой строки:
word = "hello" joined_word = "|".join(word) print(joined_word) # h|e|l|l|o
Как проверить регистр буквы python
Напишите программу, которые выводит исторические кириллические символы, начиная с омеги и заканчивая коппой.
Ѡ Ѣ Ѥ Ѧ Ѩ Ѫ Ѭ Ѯ Ѱ Ѳ Ѵ Ѷ Ѹ Ѻ Ѽ Ѿ Ҁ
С: Следующий символ
D: Символы в заданном интервале
Выведите подряд, без пробелов, все символы, лежащие в таблице ASCII между двумя заданными символами.
ABCD
0123456789
E: isdigit
Для данного символа проверьте, является ли он цифрой.
Решение оформите в виде функции isdigit(c: str) -> bool .
На проверку сдайте только тело функции.
isdigit('0')
True
isdigit('A')
False
Для тех, кто решил эту задачу. У строк в языке Python есть метод isdigit() , то есть использовать его нужно так: s.isdigit() . Если длина строки больше 1, то метод возвращает True , если все символы строки являются цифрами.
Помимо этого есть методы isalpha , isupper , islower , проверяющие, является ли символ буквой, заглавной буквой, строчной буквой. Об этих и других методах можно прочитать в документации.
F: upper
Напишите функцию upper(c: str) -> str , которая переводит символ в верхний регистр, то есть для строчной буквы латинского алфавита возвращает сооветствующую заглавную букву латинского алфавита, а для остальных символов возвращает тот же символ.
upper('f')
upper('F')
upper('4')
G: lower
Напишите функцию lower(s: str) -> str , которая переводит все символы данной строки в нижний регистр.
lower('Hello, world!')
'hello, world!'
Для тех, кто решил эту задачу. У строк в языке Python есть методы upper() и lower() , аналогичные данным. Об этих и других методах можно прочитать в документации.
H: Палиндром
Дано слово, состоящее только из заглавных и строчных латинских букв. Проверьте, верно ли что это слово читается одинаково как справа налево, так и слева направо (то есть является палиндромом), если считать заглавные и строчные буквы не различающимися.
is_palindrome('Radar')
True
is_palindrome('True')
False
I: Значение выражения — 1
Дана непустая строка, состоящая из \(n\) цифр (т.е. однозначных чисел), между которыми стоит \(n-1\) знак операции, каждый из которых может быть либо +, либо -. Вычислите значение данного выражения.
Решение оформите в виде функции evaluate(s: str) -> int , получающей в качестве аргумента строку и возвращающую ее значение.
evaluate('1+2-3')
J: Значение выражения — 2
Дано выражение одно из следующих видов: \(A+B\), \(A-B\) или \(A\ast B\), где \(A\) и \(B\) — целые неотрицательные числа. Определите значение этого выражения.
Решение оформите в виде функции evaluate(s: str) -> int , получающей в качестве аргумента строку и возвращающую ее значение.
evaluate('2*2')
evaluate('100-101')
K: Количество слов
Дана строка, возможно, содержащая пробелы. Определите количество слов в этой строке. Слово — это несколько подряд идущих букв латинского алфавита (как заглавных, так и строчных).
Решение оформите в виде функции count_words(s: str) -> int , возвращающее значение типа int .
count_words('Yesterday, all my troubles seemed so far away')
L: Самое длинное слово
Дана строка. Найдите в этой строке самое длинное слово и выведите его. Если в строке несколько слов одинаковой максимальной длины, выведите первое из них. Решение оформите в виде функции longest_word(s: str) -> str , возвращающей значение типа str . Если в строке нет ни одной буквы, функция возвращает пустую строку.
longest_word('In a hole in the ground there lived a hobbit.')
'ground'
M: Слова с прописной буквы
Дана строка. Измените регистр символов в этой строке так, чтобы первая буква каждого слова была заглавной, а остальные буквы — строчными.
Решение оформите в виде функции capitalize(s: str) -> str .
capitalize('In a hole in the ground there lived a hobbit.')
'In A Hole In The Ground There Lived A Hobbit.'
N: Максимальная буква
Дана строка. Определите максимальную букву, которая встречается в этой строке, при этом заглавные и строчные буквы нужно считать одинаковыми. Под буквой подразумеваются как русские, так и английские буквы, строка может содержать русские и английские буквы.
При решении задачи вам понадобятся методы строк, упомянутые раньше:
s.isalpha() — возвращает True или False , в зависимости от того, является ли символ буквой (все символы строки, если их несколько).
s.upper() — возвращает значение строки, переведённой в верхний регистр.
s.lower() — возвращает значение строки, переведённой в нижний регистр.
Решение оформите в виде функции max_char(s: str) -> str . Функция должна возвращать максимальную букву в верхнем регистре.
Если в данной строке нет символов, являющихся буквами, функция возвращает пустую строку.
max_char('Встретив двусмысленность, отбрось искушение угадать.')
O: Частота появления букв
Дана программа, которая может содержать ASCII-символы и русские буквы. Посчитайте, сколько раз в этой строке встречается каждый возможный символ. Выведите все встречающиеся в этой строке символы в порядке возрастания их кодов, а затем количество вхождений этого символа. Пробелы при этом игнорируйте (считаются только символы, чьи коды больше 32).
Задача должна решаться за однократный проход по данной строке. Для этого создайте список count , в котором значение count[i] будет равно количеству вхождений символа chr(i) в данную строку.
Встретив двусмысленность, отбрось искушение угадать.
, 1 . 1 В 1 а 2 б 1 в 2 г 1 д 2 е 4 и 3 к 1 л 1 м 1 н 3 о 3 р 2 с 6 т 5 у 3 ш 1 ы 1 ь 3
P: Самая частая буква
Дана строка содержащая буквы русского и латинского алфавитов и иные символы. Определите, какая буква (или какие буквы) в этой строке встречается чаще всего. При решении этой задачи заглавные и строчные буквы считаются одинаковыми, а прочие символы, не являющиеся буквами, не учитываются. Буква «Ё» в тексте не встречается. Заглавные и строчные буквы считаются одинаковыми.
Программа должна вывести в первой строке все буквы, которые встречаются чаще всего в исходной строке. Выводить буквы необходимо в заглавном написании, в алфавитном порядке, без пробелов. Во второй строке выведите единственное число — сколько раз в данной строке встречаются эти буквы.
Beautiful is better than ugly. Красивое лучше, чем уродливое.
Q: Анаграммы
Даны две строки. Определите, можно ли получить одну из другой перестановкой символов.
Программа получает на вход две строки, содержащие только ASCII-символы, не содержащие пробелы.
Программа должна вывести слово YES , если одна строка может быть получена из другой перестановкой букв или NO .
eleven_plus_two
twelve_plus_one
Eleven_plus_two
Twelve_plus_one
R: Пробелы после запятой
Question of Life,The Universe, and Everything
Question of Life, The Universe, and Everything
S: Шифр Цезаря
В шифре Цезаря каждый символ заменяется на другой символ, третий по счету в алфавите после данного, с цикличность. То есть символ A заменяется на D, символ B — на E, символ C — на F, . символ Z на C.
Дана строка, зашифруйте ее при помощи шифра Цезаря. Решение оформите в виде функции caesar_cipher(s: str, k: int) -> str , возвращающей новую строку. s — исходная строка, k — величина сдвига. Величина сдвига может быть произвольным целым числом, в том числе и отрицательным.
caesar_cipher('IN A HOLE IN THE GROUND THERE LIVED A HOBBIT.', 3)
'LQ D KROH LQ WKH JURXQG WKHUH OLYHG D KREELW.'
T: Шифр замены — зашифровать сообщение
Шифр замены обобщение шифра Цезаря. Каждая буква сообщения меняется на какую-то другую букву (разные буквы меняются на разные буквы). Символы, не являющиеся буквами, остаются такими же. Ключом шифрования является перестановка: указание того, на какую букву должна быть заменена каждая другая буква.
Вам дана строка, содержащая только заглавные латинские буквы и символы ASCII, не являющиеся буквами. Зашифруйте её при помощи шифра замены.
Решение оформите в виде функции substitution_cipher(msg: str, key: str) -> str , возвращающей новую строку с зашифрованным сообщением. msg — исходное сообщение, key — ключ шифрования.
Ключ шифрования представляет собой строку длиной 26, являющейся перестановкой символов от A до Z. В строке последовательно записаны буквы, в которые переходят буквы A, B, C, . Z исходного сообщения.
substitution_cipher('IN A HOLE IN THE GROUND THERE LIVED A HOBBIT.', 'ABCDIFGHEJKLMNUPQRSTOVWXYZ')
'EN A HULI EN THI GRUOND THIRI LEVID A HUBBET.'
U: Шифр замены — расшифровать сообщение
Расшифруйте сообщение, зашифрованное шифром замены.
Решение оформите в виде функции substitution_decipher(msg: str, key: str) -> str , возвращающей новую строку с расшифрованным сообщением. msg — зашифрованное сообщение, key — ключ шифрования, заданный как в предыдущей задаче.
substitution_decipher('EN A HULI EN THI GRUOND THIRI LEVID A HUBBET.', 'ABCDIFGHEJKLMNUPQRSTOVWXYZ')
'IN A HOLE IN THE GROUND THERE LIVED A HOBBIT.'
V: Значение выражения — 3
Дана строка, содержащая одно или более целых неотрицательных чисел, разделенных знаками “+” или “-”. Вычислите значение этого выражения.
Решение оформите в виде функции evaluate(s) .
evaluate('21+7-10')
W: 12-часовой формат времени
Во многих англоговорящих странах время записывается в 12-часовом формате с указанием одного из двух 12-часовых интервалов: до полудня (a.m.) или после полудня (p.m.). Формально запись времени в 12-часовом формате выглядит, как строка “h:mm x.m.”, где h — число часов от 1 до 12 (однозначное или двухзначное), mm — число минут от 00 до 59, дополненное нулями до двух разрядов, x — одна из двух букв “a” или “p”. Подробней примеры записи времени и их перевод в 24-часовой формат можно найти в википедии.
1:00 a.m.
01:00
12:34 p.m.
12:34
X: IP-адрес
В сети интернет каждому компьютеру присваивается четырехбайтовый код, который принято записывать в виде четырех чисел, каждое из которых может принимать значения от 0 до 255, разделенных точками. Вот примеры правильных IP-адресов:
127.0.0.0 192.168.0.1 255.0.255.255
127.0.0.1
Y: Детская задача
Хорошо известна задача-шутка, в которой требуется продолжить числовую последовательность:
1 11 21 1211 111221 312211 13112221 1113213211 .
Свойства данного ряда изучались математиками, а сама последовательность названа look-and-say sequence.
1211
Z: Шифр перестановки
В шифре перестановки меняется порядок следования букв, но сами буквы не меняются. При шифровании сообщение разбивается на блоки длины \(n\), символы внутри блока переставляются в соответствии с ключом. Ключ — это перестановка длины \(n\).
Дано сообщение и ключ шифрования, зашифруйте сообщение при помощи данного ключа.
Длина ключа может быть строкой длиной \(n\) (\(1 \le n \le 9\)), состоящей из неповторяющихся цифр от 1 до \(n\). Перестановка показывает, на какие позиции переходят символы блока с номерами 1, 2, . \(n\). То есть перестановка вида 51234 означает, что блок длины 5 циклически сдвигается вправо на 1 символ.
При шифровании сообщение разбивается на блоки длины \(n\), если длина сообщения некратна \(n\), то в конец сообщения дописываются точки.
transposition_cipher('IN A HOLE IN THE GROUND THERE LIVED A HOBBIT', '312')
' INHA EOLN IH TGE URO NDETH REVLI EDHA BOB.IT'
Was it a rat I saw?
abca
X: Форматирование текста
- В начале и конце строки не должно быть пробелов.
- Все слова разделяются ровно одним пробелом.
- Точки и запятые пишутся слитно с предыдущим словом, после знака препинания ставится пробел.
Hello , world .
Hello, world.#
Y: Календарь
Напечатайте календарь на месяц. Месяц может состоять из 28, 29, 30, 31 дня. Календарь на месяц состоит из 4, 5 или 6 столбцов, заполненных числами (датами). Ширина каждого столбца — два символа, между столбцами промежуток в один символ. Однозначные числа дополняются пробелом слева. Промежуток между столбцами — один пробел. В каждом столбце должно быть записано хотя бы одно число.
31 3
6 13 20 27
7 14 21 28
1 8 15 22 29
2 9 16 23 30
3 10 17 24 31
4 11 18 25
5 12 19 26
Z: Значение выражения — 4
Строка состоит из целых неотрицательных чисел, разделенных знаками операций “+”, “-” и “*”. Вычислите значение этого выражения выполняя действия по правилам арифметики.
Тесты к этой задаче закрытые.
Артём Санников
Данная книга является руководством для начинающих специалистов в области анализа и обработки данных. В книге рассматривается язык SQL и его процедурное расширение PL/SQL от компании Oracle.
Изменение регистра символов в строках Python
Одна из простейших операций при работе со строками это — изменение регистра. Сейчас мы рассмотрим три метода, которые позволяют изменять регистр строк:
- title() — каждое слово в строке начинается с заглавной буквы;
- lower() — текст переводится в нижний регистр;
- upper() — текст переводится в верхний регистр;
- swapcase() – переводит символы верхнего регистра в нижний, а нижний в верхний;
- capitalize() – переводит первый символ строки в верхний регистр, а остальные символы в нижний;
Важный момент: в примерах ниже, точка ( . ) в конструкции messages.title() приказывает Python применить методы к переменной messages
# Каждое слово начинается с заглавной буквы messages = "это тестовое сообщение" print(messages.title()) # Переводит символы в нижний регистр messages = "ЭТО ТЕСТОВОЕ СООБЩЕНИЕ" print(messages.lower()) # Переводит символы в верхний регистр messages = "это тестовое сообщение" print(messages.upper()) # Переводит символы верхнего регистра в нижний, а нижнего в верхний messages = "Это Тестовое Сообщение" print(messages.swapcase()) # Переводит первый символ строки в верхний регистр, а все остальные в нижний messages = "ЭТО ТЕСТОВОЕ СООБЩЕНИЕ" print(messages.capitalize())
Записи по теме
- Функция center() в Python
- Функция startswith() и endswith() в Python
- Функция ord() и chr() в Python
- Функция ljust() и rjust() в Python
- Функция zfill() в Python
- Обращение по индексу в строке Python
- Функция replace() в Python
- Длина строки в Python