Главная страница

книга заданий пайтон. книга практических заданий, pyton. Сборник упражнений Введение в язык Python с задачами и решениями Бен Стивенсон Москва, 2021 удк 004. 438Python


Скачать 2.24 Mb.
НазваниеСборник упражнений Введение в язык Python с задачами и решениями Бен Стивенсон Москва, 2021 удк 004. 438Python
Анкоркнига заданий пайтон
Дата02.10.2022
Размер2.24 Mb.
Формат файлаdocx
Имя файлакнига практических заданий, pyton.docx
ТипСборник упражнений
#709959
страница61 из 69
1   ...   57   58   59   60   61   62   63   64   ...   69

Упражнение 109. Магические даты


##

# Определяем все магические даты в XX веке # from days_in_month import daysInMonth

## Определяем, является ли дата магической

# @param day – день в дате

# @param month – месяц в дате

Выражение year % 100 позволяет перейти к представлению года из двух цифр.

# @param year – год в дате # @return True, если дата является магической, иначе False def isMagicDate(day, month, year): if day * month == year % 100:

return True

return False

# Находим и отображаем все магические даты XX века def main():

for year in range(1900, 2000): for month in range(1, 13): for day in range(1, daysInMonth(month, year) + 1): if isMagicDate(day, month, year): print("%02d/%02d/%04d – магическая дата." % (day, month, year))

# Вызов основной функции main()


Глава 13 Списки

Упражнение 110. Порядок сортировки


##

# Выводим числа, введенные пользователем, в порядке возрастания

# # Начинаем с пустого списка data = []

# Считываем значения и добавляем их в список, пока пользователь не введет ноль num = int(input("Введите целое число (0 для окончания ввода): ")) while num != 0:

data.append(num) num = int(input("Введите целое число (0 для окончания ввода): "))

# Сортируем значения data.sort()

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

# Выводим числа в порядке возрастания print("Введенные числа в порядке возрастания:") for num in data: print(num)

Упражнение 112. Удаляем выбросы


##

# Удаляем выбросы из набора данных

#

## Удаляем выбросы из списка значений

# @param data – список значений для обработки

# @param num_outliers – количество наименьших и наибольших элементов для удаления

# @return копия исходного списка с отсортированными значениями и # удаленными наименьшими и наибольшими элементами def removeOutliers(data, num_outliers): # Создаем копию списка с отсортированными значениями retval = sorted(data)

Наибольшие и наименьшие значения в списке можно было удалить и в одном цикле. В данном случае используется два цикла, чтобы решение было более понятным.

# Удаляем num_outliers наибольших значений for i in range(num_outliers): retval.pop()

# Удаляем num_outliers наименьших значений for i in range(num_outliers): retval.pop(0)

# Возвращаем результат return retval

# Запрашиваем данные у пользователя и удаляем по два наибольших и наименьших значения def main(): # Запрашиваем данные у пользователя, пока он не оставит ввод пустым values = [] s=input("Введите значение (Enter для окончания ввода): ") while s != "": num = float(s) values.append(num) s = input("Введите значение (Enter для окончания ввода): ")

# Отображаем результат или соответствующее сообщение об ошибке if len(values) < 4:

print("Вы ввели недостаточное количество чисел.") else:

print("Список с удаленными выбросами: ", \ removeOutliers(values, 2)) print("Исходный список: ", values)

# Вызов основной функции main()

Упражнение 113. Избавляемся от дубликатов


## # Считываем ряд слов, введенных пользователем, и выводим их без дубликатов

# в том же порядке, в котором они были введены

#

# Запрашиваем слова у пользователя и сохраняем их в список words = []

Выражения word not in words и not (word in words) эквивалентны.

word = input("Введите слово (Enter для окончания ввода): ") while word != "": # Добавляем слово в список, только если # оно уже не присутствует в нем if word not in words: words.append(word)

# Запрашиваем следующее слово у пользователя word = input("Введите слово (Enter для окончания ввода): ")

# Отображаем уникальные слова for word in words: print(word)
1   ...   57   58   59   60   61   62   63   64   ...   69


написать администратору сайта