Документация по Python. Теоретические материалы, и практические задачи

Задачи на строки python

1 комментарий

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

Палиндром в питоне

В ходе работы над этой небольшой программой, мы поймем, как можно определить, является ли слово палиндромом или нет. Палиндром  — это строка, которая читается одинаково, и спереди и сзади, например слово «Мадам». Для того, что бы хорошо освоить этот материал, вам необходимо знать следующие темы:


Исходный код программы

                    
my_str = 'мадам'

my_str = my_str.casefold()

rev_str = reversed(my_str)

if list(my_str) == list(rev_str):
   print("Строка является палиндромом")
else:
   print("Строка не является палиндромом")

Разбираем код:

  1. В этой программе, мы берем строку, которая хранится в my_str.
  2. Далее используем метод casefold(), для преобразования строки в нижний регистр
  3. Производим реверс строки с помощью метода reversed()
  4. Далее создаем условия, в котором производим сравнение. Перед сравнением упаковываем все в список.

Удалить знаки препинания python

В этом примере, вы научитесь удалять знаки препинания из строки. Логика реализации довольна простая, мы запустим цикл for, и будем проверять каждый символ строки, если символ является пунктуацией, присвоим ему пустой элемент. Для того, что бы хорошо разобраться в этом примере, вам следует знать следующие темы:

  1. Цикл for в Python
  2. Строки Python
  3. if…else оператор

Исходный код программы:

                    
punctuations = '''!()-[]{};:'"\,<>./?@#$%^&*_~'''

my_str = "Привет!!!, Меня зовут ---Алексей."


# my_str = input("Введи строку ")

no_punct = ""
for char in my_str:
   if char not in punctuations:
       no_punct = no_punct + char

print(no_punct)
  1. В самом начале в переменной punctuations , мы определили знаки препинания
  2. Затем переменной my_str присвоили строку
  3. Определяем переменную no_punct, который присваиваем пустую строку
  4. Запускаем цикл, перебираем my_str, если в нем встречается символ пунктуации, заменяем ее на пустую строку

Алфавитный порядок слов Python

В этой программе, мы научимся сортировать слова в алфавитном порядке. Для реализации этой идеи мы воспользуемся циклом for. Для того, что бы хорошо понять работу этой программы, нам необходимо знать следующие темы:


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

                    
my_str = "Привет, это пример строки в алфавитном порядке"

#my_str = input("Enter a string: ")

words = [word.lower() for word in my_str.split()]

words.sort()

print("The sorted words are:")
for word in words:
   print(word)

Результат:
Алфавитный порядок:
алфавитном
в
порядке
привет,
пример
строки
это
  1. Переменной my_str присваиваем строку, которую надо отсортировать в алфавитном порядке
  2. С помощью метода split(), мы преобразовываем каждое слово в список слов
  3. Методом sort(), производим сортировку и выводим на печать

Количество гласных букв в слове

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


Исходный код:

                    
glasalph = 'аеёиоуэюя'

ip_str = 'Привет, меня зовут Тимур, мне 30 лет, в этом предложении, мы будет считать количество глассных букв?'

ip_str = ip_str.casefold()

count = {}.fromkeys(glasalph,0)

for char in ip_str:
   if char in count:
       count[char] += 1

print(count)

Результат:
{'а': 2, 'е': 8, 'ё': 0, 'и': 6, 'о': 5, 'у': 4, 'э': 1, 'ю': 0, 'я': 1}

Разбор кода:

  1. Объявили переменную glasalph, которой присвоили строку, с гласными буквами
  2. Объявили переменную ip_str, в которой хранится строка, где мы будем искать гласные
  3. Используем метод casefold(), и переводим всю строку в нижний регистр
  4. Используем метод словаря fromkeys(), для построения нового словаря с каждым гласным в качестве ключа, с нулевым значением
  5. Запускаем цикл for, и на каждой итерации смотрим, есть ли символ в ключах словаря, если есть, увеличиваем его значение на 1

Анаграммы Python

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


И так, давайте немного разберемся. Анаграма — это слова состоящие из одних и тех же букв, расположенных в разном порядке. Наша задача, определить, являются ли две строки анаграммами. Как мы можем это сделать? В данном случае, я вижу довольно простой алгоритм.

  1. Привести обе строки в нижний регистр
  2. Отсортировать обе строки и сравнить их
  3. Если обе строки равны, то это анаграмма

Приступаем к коду:

                    
str1 = "Игра"
str2 = "Рига"

# Приводим в нижний регистр
str1 = str1.lower()
str2 = str2.lower()

# Сравниваем длину строк
if(len(str1) == len(str2)):

    # Сортируем обе строки
    sorted_str1 = sorted(str1)
    sorted_str2 = sorted(str2)

    if(sorted_str1 == sorted_str2):
        print(str1 + " и " + str2 + " Являются анаграмой.")
    else:
        print(str1 + " и " + str2 + " не являются анаграмой.")

else:
    print(str1 + " и " + str2 + " не являются анаграмой")

Количество символов в строке python

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

Для решения этой задачи, вам необходимо знать следующие темы:


Исходный код:

                    
count = 0

my_string = "Pydocssss.ru"
my_char = "s"

for i in my_string:
    if i == my_char:
        count += 1

print(count)
  1. Мы объявили переменную count, которая будет счетчиком
  2. Переменная my_string, в которой хранится наша строка
  3. Переменная my_char, в которой хранится искомый символ
  4. Запускаем цикл for, перебираем строку, и если в строке есть тот же символ что и в переменной my_char
  5. Переменной count, которая изначально равно 0, добавляем 1, и так до тех пор, пока перебор строки не закончится

 

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Мысль на тему “Задачи на строки python”