Язык Python в медицинских системах искусственного интеллекта. Ч.1. Введение в программирование на языке Python. Учебное пособие
.pdfДоступ к значениям:
●по ключу: my_dict['ключ1']
Операции:
●добавление: my_dict['ключ3'] = 'значение3'
●удаление: del my_dict['ключ2']
2.5.4. Множества
Уникальные элементы:
●создание: my_set = {1, 2, 3}
●пустое множество: my_set = set() Операции над множествами:
●объединение: set1 | set2
●пересечение: set1 & set2
●разность: set1 - set2
2.6.Функции
2.6.1. Определение и вызов функции
Синтаксис определения:
def имя_функции(параметры): блок_кода
return значение
Вызов функции:
● имя_функции(аргументы)
2.6.2. Параметры и аргументы
Позиционные аргументы:
●передаются в порядке, соответствующем параметрам. Именованные аргументы:
●указываются с именем параметра: функция(параметр=зна-
чение)
Аргументы по умолчанию:
●задают стандартное значение параметра: def функция(па-
раметр=значение_по_умолчанию):
21
2.6.3. Рекурсия
Понятие рекурсии:
●функция вызывает сама себя для решения задачи. Пример рекурсивной функции:
●вычисление факториала числа:
Def factorial(n): if n == 0:
return 1 else:
return n * factorial(n - 1)
2.7.Практика
2.7.1. Примеры решения задач
Задача:
Запросите у пользователя три числа и найдите среднее арифметическое этих чисел.
Пошаговое решение:
Для решения этой задачи нам нужно выполнить следующие шаги:
1.запросить у пользователя три числа.
2.преобразовать введенные значения в числовой формат.
3.вычислить сумму этих чисел.
4.найти среднее арифметическое.
5.вывести результат на экран.
Давайте подробно рассмотрим каждый шаг и напишем соответствующий код.
Шаг 1: Запросить у пользователя три числа
Для ввода данных от пользователя в Python используется функция input(). Эта функция считывает введенные пользователем данные и возвращает их в виде строки.
22
1.Реализуйте алгоритм вычисления чисел Фибоначчи до заданного n-го элемента.
2.Напишите функцию, которая принимает список чисел и возвра-
щает список из квадратов этих чисел. number1 = input("Введите первое число: ") number2 = input("Введите второе число: ") number3 = input("Введите третье число: ")
Пояснение:
●number1, number2, number3 — переменные, в которые мы со-
храняем введенные пользователем значения.
●текст внутри скобок input() отображается как подсказка пользователю.
Шаг 2: Преобразовать введенные значения в числовой формат
Поскольку функция input() возвращает строку, нам необходимо преобразовать эти строки в числа для математических операций. Предположим, что пользователь может вводить как целые числа, так и числа с плавающей точкой, поэтому используем функцию float().
number1 = float(number1) number2 = float(number2) number3 = float(number3)
Пояснение:
●функция float() преобразует строку в число с плавающей точкой.
●если пользователь введет нечисловое значение, программа
вызовет ошибку ValueError.
Шаг 3: Вычислить сумму этих чисел
Теперь, когда у нас есть три числа в числовом формате, мы можем найти их сумму.
sum_numbers = number1 + number2 + number3
Пояснение:
sum_numbers — переменная, в которой хранится сумма трех чисел.
23
Шаг 4: Найти среднее арифметическое
Среднее арифметическое находится путем деления суммы чисел на их количество.
average = sum_numbers / 3
Пояснение:
●average — переменная, в которой хранится среднее арифметическое.
●поскольку у нас три числа, мы делим на 3.
Шаг 5: Вывести результат на экран
Используем функцию print() для отображения результата пользователю. print("Среднее арифметическое этих чисел:", average)
Пояснение:
●функция print() выводит информацию на экран.
●мы можем объединять строки и переменные с помощью запятой.
Полный код программы
Соберем все вместе:
#Запрашиваем у пользователя три числа number1 = input("Введите первое число: ") number2 = input("Введите второе число: ") number3 = input("Введите третье число: ")
#Преобразуем введенные значения в числа с плавающей точкой
number1 = float(number1) number2 = float(number2) number3 = float(number3)
#Вычисляем сумму чисел
sum_numbers = number1 + number2 + number3
#Находим среднее арифметическое average = sum_numbers / 3
#Выводим результат с двумя знаками после запятой
24
print("Среднее арифметическое этих чисел: {:.2f}".format(average))
Пример работы программы:
Введите первое число: 5
Введите второе число: 10
Введите третье число: 15
Среднее арифметическое этих чисел: 10.00
2.7.2.Теоретические вопросы
1.ЧтотакоепеременнаявPythonикакиеправиласуществуютдляименования переменных?
2.Какие основные типы данных существуют в Python и в чем их отличия?
3.Что такое оператор присваивания и как он используется в Python?
4.Объясните разницу между списком, кортежем и множеством в
Python.
5.Какие арифметические операторы доступны в Python и как они работают?
6.Как работают условные конструкции if, elif, else в Python?
7.Чем отличается цикл for от цикла while и когда какой следует использовать?
8.Что такое функция в Python и зачем они нужны?
9.Как работают логические операторы and, or, not в Python?
10.Объясните понятие рекурсии и приведите пример рекурсивной функции.
2.7.3.Переменные и типы данных
1.Создайте переменную name и присвойте ей ваше имя. Выведите на экран приветствие вида: “Привет, [имя]!”.
2.Напишите программу, которая запрашивает у пользователя радиус круга и вычисляет его площадь. Используйте формулу S = πr².
25
3.Создайте переменную, содержащую строку “Python is awesome!”, и выведите ее на экран в верхнем регистре.
4.Объявитетрипеременные a,b, c,присвойте имзначенияивыведите
на экран результат выражения a + b * c.
5.Напишитепрограмму,котораяпринимаетотпользователядвачисла
именяет их значения местами.
Операторы и выражения
6.Запросите у пользователя три числа и найдите среднее арифметическое этих чисел.
7.Напишите программу, которая определяет, является ли число четным или нечетным.
8.**Создайте калькулятор, который выполняет основные арифметические операции (+, -, *, /) между двумя числами, введенными пользователем.
9.Проверьте, делится ли число на 5 и на 7 одновременно.
10.Напишите программу, которая вычисляет корни квадратного урав-
нения ax² + bx + c = 0.
Условные конструкции
11.Напишите программу, которая запрашивает у пользователя возраст
ивыводит сообщение о том, совершеннолетний он или нет.
12.Создайте программу, которая определяет наибольшее из трех введенных чисел.
13.Реализуйте программу, которая проверяет, является ли год високосным.
14.Напишите программу, которая по введенному номеру месяца выводит количество дней в этом месяце.
15.Создайте программу, которая запрашивает логин и пароль, и проверяет корректность введенных данных (предусмотрите заранее заданные значения).
2.7.4.Циклы
1.Выведите на экран все числа от 1 до 100, кратные 3.
2.Напишите программу, которая считает факториал заданного числа
n.
3.Реализуйте программу, которая выводит таблицу умножения на заданное число.
26
4.Создайте программу, которая запрашивает у пользователя числа до тех пор, пока не будет введено число 0, затем выводит их сумму.
5.Напишите программу, которая определяет количество цифр в введенном числе.
6.Выведите на экран все простые числа в диапазоне от 2 до 100.
7.Создайте программу, которая рисует в консоли прямоугольник из звездочек по заданным ширине и высоте.
8.Реализуйте алгоритм вычисления чисел Фибоначчи до заданного n-
го элемента.
9.Напишите программу, которая переворачивает введенную пользователем строку (например, “hello” -> “olleh”).
10.Создайте игру “Угадай число”: компьютер загадывает число от 1 до 100, пользователь пытается его угадать, а компьютер подсказывает “больше” или “меньше”.
Структуры данных
11.Создайте список из 10 произвольных чисел и выведите на экран наибольшее и наименьшее из них.
12.Напишите программу, которая подсчитывает количество каждого символа в строке.
13.Создайте словарь, содержащий названия дней недели в качестве ключей и их порядковые номера в качестве значений. Выведите на экран все пары ключ-значение.
14.Реализуйте программу, которая объединяет два списка в один без повторяющихся элементов.
15.Напишите программу, которая принимает список чисел и выводит только уникальные элементы (без повторений).
2.7.5.Функции
1.Напишите функцию, которая принимает два числа и возвращает их сумму.
2.Создайтефункцию,котораяопределяет, являетсяличисло простым.
3.Реализуйте функцию, которая вычисляет расстояние между двумя точками в двумерном пространстве.
4.Напишите рекурсивную функцию для вычисления факториала числа.
5.Создайте функцию, которая принимает строку и возвращает количество гласных букв в ней.
27
6.Напишите функцию, которая принимает список чисел и возвращает список из квадратов этих чисел.
7.Реализуйте функцию, которая проверяет, является ли слово палиндромом.
8.Создайте функцию, которая принимает неограниченное количество числовых аргументов и возвращает их среднее арифметическое.
9.Напишите функцию, которая принимает словарь и возвращает перевернутый словарь (ключи и значения поменяны местами).
10.Реализуйте функцию, которая принимает список слов и возвращает самое длинное слово.
28
3. УГЛУБЛЕННОЕ ИЗУЧЕНИЕ PYTHON
Цели изучения:
●освоить продвинутые возможности языка python.
●научиться работать с модулями и пакетами.
●понять основы объектно-ориентированного программирова-
ния (ооп) в python.
●изучить обработку исключений и работу с файлами.
●понять концепции генераторов, итераторов и декораторов. Ожидаемые навыки:
●умение создавать и использовать модули и пакеты.
●понимание принципов ооп и их реализация в python.
●навыки обработки исключений и работы с различными форматами файлов.
●способностьиспользоватьгенераторыидекораторыдлянаписания эффективного кода.
3.1.Модули и пакеты
3.1.1. Стандартные модули Python
Что такое модуль?
Модуль — это файл с расширением .py, содержащий определения и инструкции Python.
Модули позволяют организовать код в логические части, упрощая его поддержку и повторное использование.
Использование стандартных модулей: Импорт модуля:
import math
Использование функций из модуля:
result = math.sqrt(16) # Результат: 4.0
Импорт конкретных функций или объектов: from datetime import datetime current_time = datetime.now()
29
Переименование модуля при импорте: import numpy as np
Обзор некоторых стандартных модулей:
●math: математические функции.
●datetime: работа с датой и временем.
●os: взаимодействие с операционной системой.
●sys: доступ к некоторым переменным и функциям Python.
●random: генерация случайных чисел.
3.1.2. Создание собственных модулей
Создание модуля:
●создайте файл с расширением .py, например, my_module.py.
●в файле определите функции, классы или переменные.
Пример my_module.py:
def greet(name):
return f"Привет, {name}!"
PI = 3.14159
Использование собственного модуля:
●поместите файл модуля в ту же директорию, что и основной скрипт.
●импортируйте модуль и используйте его содержимое:
import my_module
message = my_module.greet("Анна") print(message) # Вывод: Привет, Анна!
print(my_module.PI) # Вывод: 3.14159
3.1.3. Пакеты и их структура
Что такое пакет?
●Пакет — это каталог (папка), содержащий файлы модулей и файл __init__.py.
30
