Данная статья является продолжением статьи: «Работа со строками в Python«. Рекомендуем сначала изучить прошлую статью и потом возвращаться.
Для работы со строками в Python есть несколько полезных функций и операторов, которые позволяют узнать длину последовательности, узнать, есть ли в ней определённый элемент.
Функция len()
Функция len() возвращает длину строки. Пример работы функции:
ltext = 0
print("Функция len()")
text = input("Введите произвольный текст: ")
print("Длина введенного текста: ", len(text))
input()
Сначала мы читаем введенный пользователем текст в переменную text, а затем выводим результат функции len(text).
Оператор in
Оператор in возвращает True если последовательность присутствует в объекте. Пример:
message = "Пример"
if "а" in message:
print("Искомый символ есть в сообщении")
else:
print("Искомого символа нет в сообщении")
input()
Данный код проверяет нашу переменную на наличие искомого символа в значении переменной и выдает сообщение. Есть также оператор not in, у которого обратная логика:
message = "Пример"
if "а" not in message:
print("Искомый символ есть в сообщении")
else:
print("Искомого символа нет в сообщении")
input()
Функция ord()
Функция ord() возвращает числовое значение для заданного символа.
На базовом уровне компьютеры хранят всю информацию в виде цифр. Для представления символьных данных используется схема перевода, которая содержит каждый символ с его репрезентативным номером.
Самая простая схема в повседневном использовании называется ASCII. Она охватывает латинские символы, с которыми мы чаще работает. Пример:
ord('a')
# выведет 97
ord('#')
# выведет 35
Функция chr()
Функция chr() возвращает символьное значение для данного целого числа.
chr() действует обратно ord(). Если задано числовое значение n, chr(n) возвращает строку, представляющую символ n:
chr(97)
# выведет a
chr(35)
# выведет #
Функция str()
Функция str(obj) возвращает строковое представление объекта.
Практически любой объект в Python может быть представлен как строка. str(obj) возвращает строковое представление объекта obj:
str(49.2)
# выведет '49.2'
str(3+4j)
# выведет '(3+4j)'
Программа «Анализатор слова»
Для закрепления изученного создадим небольшую программу. Программа будет сообщать длину слова, количество гласных и согласных. Листинг:
print("*" * 10, " Анализатор слова ", "*" * 10)
word = input("Введите слово: ")
vowels = 0
consonants = 0
for i in word:
letter = i.lower()
if letter == "а" or letter == "о" or\
letter == "и" or letter == "е" or\
letter == "ё" or letter == "э" or\
letter == "ы" or letter == "у" or\
letter == "ю" or letter == "я":
vowels +=1
else:
consonants += 1
print("Длина текста:", len(word))
print("Гласные %i Согласные %i" % (vowels, consonants))
input()
Переменная vowels будет содержать количество гласных букв, а consonants — согласных букв. С помощью цикла for проходимся по введенному слову.
Метод lower() необходим для приведения символа в нижний регистр. Далее мы проверяем, относится ли буква к гласным или нет. Если гласная будет обнаружена, то переменная vowels будет увеличена на 1, в противном случае будет увеличена переменная consonants.
Символ «\» необходим для разрыва длинной строки.
Вывод программы:
Метод lower() необходим для приведения символа в нижний регистр. Далее мы проверяем, относится ли буква к гласным или нет. Если гласная будет обнаружена, то переменная vowels будет увеличена на 1, в противном случае будет увеличена переменная consonants.
Символ «\» необходим для разрыва длинной строки.
Вывод программы:
Видео по разработке программы: