Файл: Методические указания по подготовке к практическим занятиям и по организации самостоятельной работы (для всех форм обучения).pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.12.2023
Просмотров: 68
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Пример программы с циклом for
Результат выполнения программы
2. Дано целое число, не меньшее 2. Выведите его наименьший натуральный делитель, отличный от 1.
Решение:
Для начала введём целое число командой int(input(текст сообщения)). Затем зададим переменной i значение 2. Переменная i выполняет роль счётчика. Если задать ей значение
1, то условие задачи не будет выполнено, а результатом всегда будет 1.
В цикле while в качестве логического выражения используется команда n%i сравниваемая с нулём. Таким образом, если остаток от деления введённого числа на текущее значение i не равно нулю, то счётчик увеличивается на 1, а если равно нулю цикл заканчивается и командой print() выводится сообщение и значение i.
Пример программы с циклом while
Результат выполнения программы
Задание
1. Дано вещественное число – цена 1 кг конфет. Вывести стоимость 1, 2, … 10 кг конфет.
Решить задачу используя циклическую конструкцию for.
2. Дана непустая последовательность целых чисел, оканчивающаяся нулем. Найти: а) сумму всех чисел последовательности; б) количество всех чисел последовательности
Решить задачу используя циклическую конструкцию while.
Практическая работа №4
Работа со строками в Python
Цель работы: познакомится с методами работы со строками.
Обучающийся должен: владеть: навыками составления линейных алгоритмов на языке программирования
Python с использованием строковых данных; уметь: применять функции и методы строк при обработке строковых данных; знать: операции и методы обработки строк.
Строка — базовый тип представляющий из себя неизменяемую последовательность символов; str от «string» — «строка».
Функции и методы работы со строками
Функция или
метод
Назначение
S1 + S2
Конкатенация (сложение строк)
S1 * 3
Повторение строки
S[i]
Обращение по индексу
S[i:j:step]
Извлечение среза
len(S)
Длина строки
S.join(список)
Соединение строк из последовательности str через разделитель, заданный строкой
S1.count(S[, i, j]) количество вхождений подстроки s в строку s1. Результатом является число. Можно указать позицию начала поиска i и окончания поиска j
S.find(str,
[start],[end])
Поиск подстроки в строке. Возвращает номер первого вхождения или -1
S.index(str,
[start],[end])
Поиск подстроки в строке. Возвращает номер первого вхождения или вызывает ValueError
S.rindex(str,
[start],[end])
Поиск подстроки в строке. Возвращает номер последнего вхождения или вызывает ValueError
S.replace(шаблон, замена)
Замена шаблона
S.split(символ)
Разбиение строки по разделителю
S.upper()
Преобразование строки к верхнему регистру
S.lower()
Преобразование строки к нижнему регистру
Ниже приведена программа, демонстрирующая использование функций и методов работы со строками.
Пример программы на Python
Результат выполнения программы с использованием функций и методов работы со строками
Пример:
Вариант 0
Проверить, будет ли строка читаться одинаково справа налево и слева направо (т. е. является ли она палиндромом).
Решение:
Сначала введём строку командой: s=input('Введите строку ').
Затем определим логическую переменную flag и присвоим ей значение 1: flag=1.
Для начала в введённой строке нужно удалить пробелы. Для этого воспользуемся циклической конструкцией for, которая выполнится столько раз, какую имеет длину строка.
Длину строки определим функцией len(s).
В теле цикла будем проверять следующее условие: s[i]!=' '. Данное логическое выражение будет истинно в том случае, если i-ый элемент строки не будет равен пробелу, тогда выполнится команда следующая после двоеточия: string+=s[i].
К сроке string, которая была объявлена в начале программы, будет добавляться посимвольно строка s, но уже без пробелов.
Для проверки строки на "палиндром" воспользуемся циклической конструкцией for.
Длина половины строки находится делением нацело на 2. Если количество символов нечетно, то стоящий в середине не учитывается, т.к. его сравниваемая пара - он сам.
Количество повторов цикла равно длине половины строки. Длину строки определим функцией len(s), где аргумент введённая нами строка s. Зная длину строки, можно вычислить количество повторов цикла. Для этого целочисленно разделим длину строки на
2: len(s)//2.
Для задания диапазона для цикла используем функцию range(), в которой аргументом будет являться половина длины строки: range(len(s//2 )). for i in range(len(s//2 )).
Если символ с индексом i не равен "симметричному" символу с конца строки
(который находится путем индексации с конца) if s[i] != s[-1-i], то переменной flag присваивается значение 0 и происходит выход из цикла командой break.
Далее, при помощи условной конструкции if-else в зависимости от значения flag либо
- 0, либо -1 выводится сообщение, что строка палиндром, либо нет.
Пример программы на Python
Результат выполнения программы
Практическая работа №5
Работа со списками. Операции над списками в Python
Цель работы: Изучение одномерных массивов в Python.
Массивы (списки) в Python — это определенное количество элементов одного типа, которые имеют общее имя, и каждый элемент имеет свой индекс — порядковый номер.
Часто для работы с массивами используются списки.
Список (list) – это структура данных для хранения объектов различных типов. Списки являются упорядоченными последовательностями, которые состоят из различных типов данных, заключающихся в квадратные скобки [ ] и отделяющиеся друг от друга с помощью запятой.
Создание списков на Python
Создать список можно несколькими способами:
1. Получение списка через присваивание конкретных значений.
Так выглядит в коде Python пустой список: s = [] # Пустой список
Примеры создания списков со значениями:
Списки можно складывать (конкатенировать) с помощью знака «+»:
Результат:
2.
Создание списка при помощи функции Split()
Используя функцию split в Python можно получить из строки список. stroka
="Привет, страна" lst=stroka.split(",")
Результат:
3.
Генераторы списков
В Python создать список можно также при помощи генераторов.
Первый способ:
Сложение одинаковых списков заменяется умножением: Список из 10 элементов, заполненный единицами l = [1]*10
Второй способ:
Пример 1. l = [i for i in range(10)]
Пример 2. c = [c * 3 for c in 'list'] print (c) #
['lll', 'iii', 'sss', 'ttt']
Примеры использования генераторов списка
Пример 1.
Заполнить список квадратами чисел от 0 до 9, используя генератор списка.
Решение: l = [i*i for i in range(10)]
Пример 2.
Заполнить список числами, где каждое последующее число больше на 2. l = [(i+1)+i for i in range(10)] print(l)
Модуль random предоставляет функции для генерации случайных чисел, букв, случайного выбора элементов последовательности. random.randint(A, B) - случайное целое число N, A ≤ N ≤ B. random.random() - случайное число от 0 до 1.
Случайные числа в списке:
10 чисел, сгенерированных случайным образом в диапазоне (10,80) from random import randint l = [randint(10,80) for x in range(10)]
10 чисел, сгенерированных случайным образом в диапазоне (0,1) l = [random() for i in range(10)]
4. Ввод списка (массива) в языке Python
Для ввода элементов списка используется цикл for и команда range (): for i in range(N): x[i] = int( input() )
Более простой вариант ввода списка: x = [ int(input()) for i in range(N) ]
Функция int здесь используется для того, чтобы строка, введенная пользователем, преобразовывалась в целые числа.
5. Вывод списка (массива) в языке Python
Вывод целого списка (массива):
print (L)
Поэлементный вывод списка (массива): for i in range(N): print ( L[i], end = " " )
2. Методы списков
Метод
Что делает
list.append(x)
Добавляет элемент в конец списка
list.extend(L)
Расширяет список list, добавляя в конец все элементы списка L
list.insert(i, x)
Вставляет перед i-ым элементом значение x
list.remove(x)
Удаляет первый элемент в списке, имеющий значение x.
ValueError, если такого элемента не существует
list.pop([i])
Удаляет i-ый элемент и возвращает его. Если индекс не указан, удаляется последний элемент
list.index(x, [start [, end]])
Возвращает положение первого элемента со значением x (при этом поиск ведется от start до end)
list.count(x)
Возвращает количество элементов со значением x
list.reverse()
Разворачивает список
list.copy()
Поверхностная копия списка
list.clear()
Очищает список
Поэлементный вывод списка (массива): for i in range(N): print ( L[i], end = " " )
2. Методы списков
Метод
Что делает
list.append(x)
Добавляет элемент в конец списка
list.extend(L)
Расширяет список list, добавляя в конец все элементы списка L
list.insert(i, x)
Вставляет перед i-ым элементом значение x
list.remove(x)
Удаляет первый элемент в списке, имеющий значение x.
ValueError, если такого элемента не существует
list.pop([i])
Удаляет i-ый элемент и возвращает его. Если индекс не указан, удаляется последний элемент
list.index(x, [start [, end]])
Возвращает положение первого элемента со значением x (при этом поиск ведется от start до end)
list.count(x)
Возвращает количество элементов со значением x
list.reverse()
Разворачивает список
list.copy()
Поверхностная копия списка
list.clear()
Очищает список
Ниже приведена программа, демонстрирующая методы работы списков.
Пример программы на Python
Результат выполнения программы
Вариант 0
1. Из массива X длиной n, среди элементов которого есть положительные, отрицательные и равные нулю, сформировать новый массив Y, взяв в него только те элементы из X, которые больше по модулю заданного числа M.
Вывести на экран число M, данный и полученные массивы.
Решение:
2. В массиве целых чисел все отрицательные элементы заменить на положительные.
Вывести исходный массив и полученный.
Решение:
Практическая работа №6
Функции и процедуры в Python
Цель работы: изучение процедур и функций в Python.
Обучающийся должен: знать - синтаксис процедур и функций, процедура с параметром, локальные и глобальные переменные. уметь - применять синтаксис процедур и функций при составлении программы; владеть - основными навыками работы с функциями и процедурами.
Подпрограмма - это именованный фрагмент программы, к которому можно обратиться из другого места программы Подпрограммы делятся на две категории: процедуры и функции.
1. Процедуры.
Рассмотрим синтаксис процедуры: def имя процедуры (Список параметров):
Система команд.
Для определения процедуры используется ключевое слово def, затем указывается имя процедуры и в скобках её формальные параметры, если они присутствуют. После ставится двоеточие и со следующей строки с отступом в 4 пробела указываются команды.
Процедура — вспомогательный алгоритм, выполняющий некоторые действия. Процедура должна быть определена к моменту её вызова. Определение процедуры начинается со служебного слова def.
Вызов процедуры осуществляется по ее имени, за которым следуют круглые скобки, например, Err(). В одной программе может быть сколько угодно много вызовов одной и той же процедуры. Использование процедур сокращает код и повышает удобочитаемость.
Процедура с параметрами.
Как используются в Python параметры процедуры, рассмотрим на примере.
Пример:
Написать процедуру, которая печатает раз указанный символ (введенный с клавиатуры), каждый с новой строки. def printChar(s): print (s) sim = input('введите символ') printChar(sim) # первый вызов, вывод введенного символа
Глобальная переменная — если ей присвоено значение в основной программе (вне процедуры).
Локальная переменная (внутренняя) известна только на уровне процедуры, обратиться к ней из основной программы и из других процедур нельзя.
Параметры процедуры — локальные переменные.
Примеры использования локальных и глобальных переменных
Пример 1. x = 3 # глобальная переменная def pr(): # процедура без параметров print (x) # вывод значения глобальной переменной pr()
Пример 2. x = 3 # глобальная переменная def pr(a): # процедура с параметром print (a) # 4 pr(x) # передача параметра глобальной переменной (3) printChar('*') # второй вызов, вывод *
Существует возможность изменить значение глобальной переменной (не создавая локальную). В процедуре с помощью слова global: x = 3 # глобальная переменная def pr(): # процедура без параметров global x x = pow(x,10) print (x) # вывод измененного значения глобальной переменной pr()
Функция - подпрограмма, к которому можно обратиться из другого места программы.
Для создания функции используется ключевое слово def, после которого указывается имя и список аргументов в круглых скобках. Тело функции выделяется также как тело условия
(или цикла): четырьмя пробелами.
Рассмотрим синтаксис функции: def имя функции (Список параметров):
Система команд return выражение
Часть функций языка Python являются встроенными функциями, которые обеспечены синтаксисом самого языка. Например, int, input, randint. Рассмотрим пример создания пользовательских функций.
Пример 1.
Вычислить сумму цифр числа. def sumD(n): # определение функции с параметром sumD
= 0 while n!= 0: sumD += n % 10 n = n // 10 return sumD # возврат значения функции
# основная программа print (sumD(int(input())) # вызов функции с параметром
Вариант 0
1. Определить, являются ли три треугольника равновеликими. Длины сторон вводить с клавиатуры. Для подсчёта площади треугольника использовать формулу Герона.
Вычисление площади оформить в виде функции с тремя параметрами.
Формула Герона:
Решение:
2. Ввести одномерный массив A длиной m. Поменять в нём местами первый и последний элементы. Длину массива и его элементы ввести с клавиатуры. В программе описать процедуру для замены элементов массива. Вывести исходные и полученные массивы.
Решение:
Практическая работа №7
Математические операции в Python
Цель работы: познакомиться с основными математическими операциями в Python.
Язык Python, благодаря наличию огромного количества библиотек для решения разного рода вычислительных задач, сегодня является конкурентом таким пакетам как
Matlab и Octave. Запущенный в интерактивном режиме, он, фактически, превращается в мощный калькулятор. В этом уроке речь пойдет об арифметических операциях, доступных в данном языке Арифметические операции изучим применительно к числам.
Если в качестве операндов некоторого арифметического выражения используются только целые числа, то результат тоже будет целое число. Исключением является операция деления, результатом которой является вещественное число. При совместном использовании целочисленных и вещественных переменных, результат будет вещественным.
В этом уроке речь пойдет об арифметических операциях, доступных в данном языке.
Если в качестве операндов некоторого арифметического выражения используются только целые числа, то результат тоже будет целое число. Исключением является операция деления, результатом которой является вещественное число. При совместном использовании целочисленных и вещественных переменных, результат будет вещественным.
Целые числа (int)
Числа в Python 3 поддерживают набор самых обычных математических операций:
x + y
Сложение
x - y
Вычитание
x * y
Умножение
x / y
Деление
x // y
Получение целой части от деления
x % y
Остаток от деления
-x
Смена знака числа
abs(x)
Модуль числа
divmod(x, y)
Пара (x // y, x % y)
x ** y
Возведение в степень
pow(x, y[, z]) x : Число, которое требуется возвести в степень. y : Число, являющееся степенью, в которую нужно возвести первый аргумент. Если число отрицательное или одно из чисел "x" или "y" не целые, то аргумент "z" не принимается. z : Число, на которое требуется произвести деление по модулю. Если число указано, ожидается, что "x" и "y" положительны и имеют тип int.
Пример применения вышеописанных операций над целыми числами
Вещественные числа (float). Вещественные числа поддерживают те же операции, что и целые. Однако (из-за представления чисел в компьютере) вещественные числа неточны, и это может привести к ошибкам.
Пример применения вышеописанных операций над вещественными числами
Библиотека (модуль) math. В стандартную поставку Python входит библиотека math, в которой содержится большое количество часто используемых математических функций.
Для работы с данным модулем его предварительно нужно импортировать.