- Решение линейного уравнения в Python
- Условная инструкция
- Синтаксис условной инструкции
- Вложенные условные инструкции
- Операторы сравнения
- Тип данных bool
- Логические операторы
- Каскадные условные инструкции
- Упражнения
- A: Максимум двух чисел
- B: Какое число больше?
- C: Знак числа
- D: Високосный год
- E: Максимум трех чисел
- G: Сколько совпадает чисел
- H: Тестирующая система
- I: Ход ладьи
- J: Ход короля
- K: Ход слона
- L: Ход ферзя
- M: Ход коня
- N: Шахматная доска
- O: Шоколадка
- P: Линейное уравнение
- Q: Коровы
- R: Яша плавает в бассейне
- S: Тип треугольника
- T: Билеты на метро — 1
- U: Билеты на метро — 2
- V: Узник замка Иф
- W: Коробки
- X: Складирование ноутбуков
- Y: Аншлаг, аншлаг!
- Z: Котлеты
- AA: Упорядочить три числа
- AA+: Упорядочить три числа — минимальное число сравнений
- Замечания по предыдущему листку
- Решить в целых числах уравнение ax + b = 0.
- 📺 Видео
Видео:16. Решение линейных уравнений в целых числах. Часть 1. Алексей Савватеев. 100 уроков математикиСкачать
Решение линейного уравнения в Python
В данной статье мы разберем программу на python для решения линейного уравнения Программа решает уравнение вида ax = b. Коэффициенты a и b задаются пользователем с клавиатуры. Программа находит решение и выводит его на экран. Если решений бесконечное количество или их нет, то программа оповещает об этом.
Все возможные решения линейного уравнения можно описать так
Если a = 0 и b = 0, то решений бесконечное количество.
Если a = 0 и b ≠ 0, то решений нет.
Если a ≠ 0, то единственное решение будет равно b / a.
Для задания коэффициентов с клавиатуры в Python используется функция ввода вещественного числа float(input()). Подробно о вводе информации с клавиатуры в python
a = float(input(«Введите коэффициент a «))
b = float(input(«Введите коэффициент b «))
В Python, чтобы проверить равенство двух объектов, используется ==, для проверки неравенства объектов используется !=. Для проверки двух условий одновременно используется оператор and. Подробно об условиях в python
Программа на Python для решения линейного уравнения
a = float(input(«Введите коэффициент a «))
b = float(input(«Введите коэффициент b «))
if (a == 0 and b == 0):
print(«Бесконечное количество решений.»)
if (a == 0 and b != 0):
print(«Решений нет.»)
if (a != 0):
print(b/a))
Полезно почитать по теме условия в Python примеры
Пример анкеты, опроса на Python
Видео:21 Цикл while. Нахождение всех делителей числа PythonСкачать
Условная инструкция
Видео:Решение простых задач на python | Даны три целых числа. Найти количество положительных чисел #pythonСкачать
Синтаксис условной инструкции
Все ранее рассматриваемые программы имели линейную структуру: все инструкции выполнялись последовательно одна за одной, каждая записанная инструкция обязательно выполняется.
Допустим мы хотим по данному числу x определить его абсолютную величину (модуль). Программа должна напечатать значение переменной x, если x>0 или же величину -x в противном случае. Линейная структура программы нарушается: в зависимости от справедливости условия x>0 должна быть выведена одна или другая величина. Соответствующий фрагмент программы на Питоне имеет вид:
В этой программе используется условная инструкция if (если). После слова if указывается проверяемое условие (x > 0) , завершающееся двоеточием. После этого идет блок (последовательность) инструкций, который будет выполнен, если условие истинно, в нашем примере это вывод на экран величины x . Затем идет слово else (иначе), также завершающееся двоеточием, и блок инструкций, который будет выполнен, если проверяемое условие неверно, в данном случае будет выведено значение -x .
Итак, условная инструкция в Питоне имеет следующий синтаксис:
Блок инструкций 1 будет выполнен, если Условие истинно. Если Условие ложно, будет выполнен Блок инструкций 2 .
В условной инструкции может отсутствовать слово else и последующий блок. Такая инструкция называется неполным ветвлением. Например, если дано число x и мы хотим заменить его на абсолютную величину x , то это можно сделать следующим образом:
В этом примере переменной x будет присвоено значение -x , но только в том случае, когда x . А вот инструкция print(x) будет выполнена всегда, независимо от проверяемого условия.
Для выделения блока инструкций, относящихся к инструкции if или else в языке Питон используются отступы. Все инструкции, которые относятся к одному блоку, должны иметь равную величину отступа, то есть одинаковое число пробелов в начале строки. Рекомендуется использовать отступ в 4 пробела и не рекомедуется использовать в качестве отступа символ табуляции.
Это одно из существенных отличий синтаксиса Питона от синтаксиса большинства языков, в которых блоки выделяются специальными словами, например, нц. кц в Кумире, begin. end в Паскале или фигурными скобками в Си.
Видео:Пишем программу: нахождения НОД и НОК двух чисел | Алгоритм ЕвклидаСкачать
Вложенные условные инструкции
Внутри условных инструкций можно использовать любые инструкции языка Питон, в том числе и условную инструкцию. Получаем вложенное ветвление – после одной развилки в ходе исполнения программы появляется другая развилка. При этом вложенные блоки имеют больший размер отступа (например, 8 пробелов). Покажем это на примере программы, которая по данным ненулевым числам x и y определяет, в какой из четвертей координатной плоскости находится точка (x,y):
В этом примере мы использовали комментарии – текст, который интерпретатор игнорирует. Комментариями в Питоне является символ # и весь текст после этого символа до конца строки.
Видео:4.2 Ход ладьи. "Поколение Python": курс для начинающих. Курс StepikСкачать
Операторы сравнения
Как правило, в качестве проверяемого условия используется результат вычисления одного из следующих операторов сравнения: Меньше — условие верно, если первый операнд меньше второго.
> Больше — условие верно, если первый операнд больше второго.
Меньше или равно.
>= Больше или равно.
== Равенство. Условие верно, если два операнда равны.
!= Неравенство. Условие верно, если два операнда неравны.
Например, условие (x * x означает “значение x * x меньше 1000”, а условие (2 * x != y) означает “удвоенное значение переменной x не равно значению переменной y ”.
Операторы сравнения в Питоне можно объединять в цепочки (в отличии от большинства других языков программирования, где для этого нужно использовать логические связки), например, или .
Видео:Посчитать четные и нечетные цифры числа. Решение задачи на PythonСкачать
Тип данных bool
Операторы сравнения возвращают значения специального логического типа bool . Значения логического типа могут принимать одно из двух значений: True (истина) или False (ложь). Если преобразовать логическое True к типу int , то получится 1, а преобразование False даст 0. При обратном преобразовании число 0 преобразуется в False , а любое ненулевое число в True . При преобразовании str в bool пустая строка преобразовывается в False , а любая непустая строка в True .
Видео:Расширенный алгоритм Евклида.Скачать
Логические операторы
Иногда нужно проверить одновременно не одно, а несколько условий. Например, проверить, является ли данное число четным можно при помощи условия (n % 2 == 0) (остаток от деления n на 2 равен 0 ), а если необходимо проверить, что два данных целых числа n и m являются четными, необходимо проверить справедливость обоих условий: n % 2 == 0 и m % 2 == 0 , для чего их необходимо объединить при помощи оператора and (логическое И): n % 2 == 0 and m % 2 == 0 .
В Питоне существуют стандартные логические операторы: логическое И, логическое ИЛИ, логическое отрицание.
является бинарным оператором (то есть оператором с двумя операндами: левым и правым) и имеет вид and . Оператор and возвращает True тогда и только тогда, когда оба его операнда имеют значение True .
является бинарным оператором и возвращает True тогда и только тогда, когда хотя бы один операнд равен True . Оператор “логическое ИЛИ” имеет вид or .
(отрицание) является унарным (то есть с одним операндом) оператором и имеет вид not , за которым следует единственный операнд. Логическое НЕ возвращает True , если операнд равен False и наоборот.
Пример. Проверим, что хотя бы одно из чисел a или b оканчивается на 0:
Проверим, что число a — положительное, а b — неотрицательное:
Или можно вместо not (b записать (b >= 0) .
Видео:Простые числа. Напишите программу, которая находит все простые числа от a до b включительно | PythonСкачать
Каскадные условные инструкции
Пример программы, определяющий четверть координатной плоскости, можно переписать используя “каскадную“ последовательность операцией if. elif. else :
В такой конструкции условия if , . elif проверяются по очереди, выполняется блок, соответствующий первому из истинных условий. Если все проверяемые условия ложны, то выполняется блок else , если он присутствует.
Видео:Уроки Python #9 | Случайные числа | RANDOMСкачать
Упражнения
A: Максимум двух чисел
Даны два целых числа. Выведите значение наибольшего из них.
Ввод | Вывод |
---|
B: Какое число больше?
Даны два целых числа. Программа должна вывести число 1, если первое число больше второго, число 2, если второе больше первого или число 0, если они равны.
Ввод | Вывод |
---|
Эту задачу желательно решить с использованием каскадных инструкций if. elif. else .
C: Знак числа
В математике функция sign(x) (знак числа) определена так:
sign(x) = 1 , если x > 0 ,
sign(x) = -1 , если x ,
sign(x) = 0 , если x = 0 .
Для данного числа x выведите значение sign(x) .
Ввод | Вывод |
---|
Эту задачу желательно решить с использованием каскадных инструкций if. elif. else .
D: Високосный год
Дано натуральное число. Требуется определить, является ли год с данным номером високосным. Если год является високосным, то выведите YES , иначе выведите NO . Напомним, что в соответствии с григорианским календарем, год является високосным, если его номер кратен 4, но не кратен 100, а также если он кратен 400.
Ввод | Вывод |
---|
E: Максимум трех чисел
Даны три целых числа. Найдите наибольшее из них (программа должна вывести ровно одно целое число).
Какое наименьшее число операторов сравнения (>, =, YES , иначе выведите строку NO .
Треугольник — это три точки, не лежащие на одной прямой.
Ввод | Вывод |
---|
G: Сколько совпадает чисел
Даны три целых числа. Определите, сколько среди них совпадающих. Программа должна вывести одно из чисел: 3 (если все совпадают), 2 (если два совпадает) или 0 (если все числа различны).
Ввод | Вывод |
---|
H: Тестирующая система
Денис Павлович задал школьникам задачу: “Если данное четырехзначное число является симметричным, выведите 1, иначе выведите любое другое целое число”. Для проверки Денис Павлович использует заранее подготовленный набор тестов и правильных ответов к ним.
Ире кажется, что она решила эту задачу, но тестирующая система Ejudge почему-то не принимает ее решение. Ира думает, что это происходит оттого, что она выводит не то любое другое число, которое записано в ответах у Дениса Павловича.
Напишите программу, которая по ответу Дениса Павловича и по ответу Иры определяет, верно ли Ира решила задачу. Программа получает на вход два числа: ответ Дениса Павловича и ответ Иры. Программа должна вывести YES , если Ира дала верный ответ и NO в противном случае.
Ввод | Вывод |
---|
I: Ход ладьи
Шахматная ладья ходит по горизонтали или вертикали. Даны две различные клетки шахматной доски, определите, может ли ладья попасть с первой клетки на вторую одним ходом. Программа получает на вход четыре числа от 1 до 8 каждое, задающие номер столбца и номер строки сначала для первой клетки, потом для второй клетки. Программа должна вывести YES , если из первой клетки ходом ладьи можно попасть во вторую или NO в противном случае.
Ввод | Вывод |
---|
J: Ход короля
Решите аналогичную задачу для короля, который может ходить в клетку, которая является соседней с данной по стороне или углу.
Ввод | Вывод |
---|
K: Ход слона
Решите аналогичную задачу для слона, который ходит по диагонали.
Ввод | Вывод |
---|
L: Ход ферзя
Решите аналогичную задачу для ферзя, который ходит как ладья и слон (то есть по горизонтали, вертикали или диагонали).
Ввод | Вывод |
---|
M: Ход коня
Решите аналогичную задачу для коня, который ходит буквой “Г” — на две клетки по вертикали в любом направлении и на одну клетку по горизонтали, или наоборот.
Ввод | Вывод |
---|
N: Шахматная доска
Заданы две клетки шахматной доски. Если они покрашены в один цвет, то выведите слово YES , а если в разные цвета – то NO .
Ввод | Вывод |
---|
O: Шоколадка
Шоколадка имеет вид прямоугольника, разделенного на n×m долек. Шоколадку можно один раз разломить по прямой на две части. Определите, можно ли таким образом отломить от шоколадки ровно k долек.
Программа получает на вход три числа: n, m, k и должна вывести одно из двух слов: YES или NO .
Ввод | Вывод |
---|
P: Линейное уравнение
Даны числа (a) и (b). Решите в целых числах уравнение (ax+b=0). Выведите все решения этого уравнения, если их число конечно, выведите слово NO , если решений нет, выведите слово INF , если решений бесконечно много.
Ввод | Вывод |
---|
Q: Коровы
Для данного числа n korov , korova или korovy . Между числом и словом должен стоять ровно один пробел.
Ввод | Вывод |
---|
R: Яша плавает в бассейне
Яша плавал в бассейне размером (Ntimes M) метров и устал. В этот момент он обнаружил, что находится на расстоянии x метров от одного из длинных бортиков (не обязательно от ближайшего) и y метров от одного из коротких бортиков. Какое минимальное расстояние должен проплыть Яша, чтобы выбраться из бассейна на бортик?
Программа получает на вход числа (N), (M), (x), (y). Программа должна вывести число метров, которое нужно проплыть Яше до бортика.
Ввод | Вывод |
---|
S: Тип треугольника
Даны три стороны треугольника a, b, c. Определите тип треугольника с заданными сторонами. Выведите одно из четырех слов: rectangular для прямоугольного треугольника, acute для остроугольного треугольника, obtuse для тупоугольного треугольника или impossible , если треугольника с такими сторонами не существует.
Ввод | Вывод |
---|
T: Билеты на метро — 1
Давным-давно билет на одну поездку в метро стоил 15 рублей, билет на 10 поездок стоил 125 рублей, билет на 60 поездок стоил 440 рублей. Пассажир планирует совершить n поездок. Определите, сколько билетов каждого вида он должен приобрести, чтобы суммарное количество оплаченных поездок было не меньше n, а общая стоимость приобретенных билетов — минимальна.
Программа получает на вход одно число n и должна вывести три целых числа, равных необходимому количеству билетов на 1, на 10, на 60 поездок.
Ввод | Вывод |
---|
U: Билеты на метро — 2
Решите предыдущую задачу при наличии следующих билетов: 1 поездка — 15 рублей, 5 поездок — 70 рублей, 10 поездок — 125 рублей, 20 поездок — 230 рублей, 60 поездок — 440 рублей.
Программа получает на вход одно число n и должна вывести пять целых чисел: количество билетов на 1, 5, 10, 20, 60 поездок, которое необходимо приобрести. Если для какого-то данного n существует несколько способов приобретения билетов одинаковой суммарной стоимости, необходимо вывести ту комбинацию билетов, которая дает большее число поездок.
V: Узник замка Иф
За многие годы заточения узник замка Иф проделал в стене прямоугольное отверстие размером D×E. Замок Иф сложен из кирпичей, размером A×B×C. Определите, сможет ли узник выбрасывать кирпичи в море через это отверстие, если стороны кирпича должны быть параллельны сторонам отверстия.
Программа получает на вход числа A, B, C, D, E и должна вывести слово YES или NO .
Ввод | Вывод |
---|
W: Коробки
Есть две коробки, первая размером A1×B1×C1, вторая размером A2×B2×C2. Определите, можно ли разместить одну из этих коробок внутри другой, при условии, что поворачивать коробки можно только на 90 градусов вокруг ребер.
Программа получает на вход числа A1, B1, C1, A2, B2, C2. Программа должна вывести одну из следующих строчек:
Boxes are equal , если коробки одинаковые,
The first box is smaller than the second one , если первая коробка может быть положена во вторую,
The first box is larger than the second one , если вторая коробка может быть положена в первую,
Boxes are incomparable , во всех остальных случаях.
Ввод | Вывод |
---|
X: Складирование ноутбуков
На склад, который имеет форму прямоугольного параллелепипеда, привезли ноутбуки, упакованные в коробки. Каждая коробка также имеет форму прямоугольного параллелепипеда. По правилам хранения коробки с ноутбуками должны быть размещены на складе с выполнением следующих двух условий:
1. Стороны коробок должны быть параллельны сторонам склада.
2. Коробку при помещении на склад разрешается расположить где угодно (с выполнением предыдущего условия), в том числе на другой коробке, но все коробки должны быть ориентированы одинаково (т.е. нельзя одну коробку расположить “стоя”, а другую —“лежа”)
Напишите программу, которая по размерам склада и размерам коробки с ноутбуком определит максимальное количество ноутбуков, которое может быть размещено на складе. Программа получает на вход шесть натуральных чисел. Первые три задают длину, высоту и ширину склада. Следующие три задают соответственно длину, высоту и ширину коробки с ноутбуком. Программа должна вывести одно число — максимальное количество ноутбуков, которое может быть размещено на складе.
Ввод | Вывод |
---|
Y: Аншлаг, аншлаг!
В одном из популярных кинотеатров все сеансы проходят с аншлагом, поэтому все места в зале всегда заняты. К сожалению, расстояние между рядами в кинозале маленькое, и зрители, пробираясь перед началом фильма к своим местам, вынуждены спотыкаться о ноги уже сидящих. Заходя в зал, зритель думает, с какой стороны ряда он будет пробираться к своему месту (с левой или с правой), и выбирает сторону так, чтобы споткнуться о меньшее число людей. В случае равенства зритель выбирает ту сторону, к которой его место ближе.
Вася, ярый любитель кино и столь же ярый ненавистник математики, первым купил билет на очередную премьеру. Когда Вася вошёл в зал и сел на своё место, он увидел, что все остальные кресла в его ряду ещё пустуют. Вася точно знал, что к началу сеанса зал заполнится до отказа, а это значило, что с минуты на минуту о его ноги начнут спотыкаться другие кинолюбители, пробирающиеся к своим местам. Несмотря на всю свою нелюбовь к математике, Вася мгновенно оценил, какое максимальное количество человек может спотнуться о его ноги, прежде чем все зрители займут свои места. А вы сможете?
Программа получает на вход два целые числа n и k — количество мест в том ряду, где сидит Вася, и номер его места соответственно (1≤k≤n≤50, n — чётно). Места в ряду нумеруются с единицы.
Программа должна Вывести максимальное количество человек, которое может споткнуться о ноги Васи.
Тесты к этой задаче закрытые.
Ввод | Вывод |
---|
Z: Котлеты
На сковородку одновременно можно положить (k) котлет. Каждую котлету нужно с каждой стороны обжаривать (m) минут непрерывно. За какое наименьшее время удастся поджарить с обеих сторон (n) котлет?
Программа получает на вход три числа: (k), (m) и (n) и должна вывести одно число: наименьшее количество минут.
Тесты к этой задаче закрытые.
Ввод | Вывод |
---|
AA: Упорядочить три числа
Дано три числа. Упорядочите их в порядке неубывания. Программа должна считывать три числа a , b , c , затем программа должна менять их значения так, чтобы стали выполнены условия , затем программа выводит тройку a , b , c .
Дополнительные ограничения: нельзя использовать дополнительные переменные (то есть единственной допустимой операцией присваивания является обмен значений двух переменных типа (a, b) = (b, a) .
Какое наименьшее число сравнений необходимо для решения этой задачи? Почему нельзя обойтись меньшим числом сравнений?
Ввод | Вывод |
---|
AA+: Упорядочить три числа — минимальное число сравнений
Докажите, что для решения предыдущей задачи нельзя использовать меньшее число сравнений. Текст доказательства запишите в поле ввода ответа и отправьте на проверку.
Видео:Python. Проверка на четность/нечетностьСкачать
Замечания по предыдущему листку
Обмен значений двух переменных в языке Питон легко делается так:
Здесь в круглых скобках записан кортеж — последовательность из нескольких элементов. Одному кортежу можно присвоить значение другого кортежа. Этим можно пользоваться, если нужно одновременно изменить несколько переменных, например, возможна такая запись:
В задаче “автопробег” необходимо было найти целочисленное частное от деления m на n с округлением вверх. Обычно это делается на основе известного математического факта: (m + n — 1) // n .
Видео:Решение на python | Даны 5 целых числа. Найти количество положительных и отрицательных чисел #pythonСкачать
Решить в целых числах уравнение ax + b = 0.
Входные данные
Вводятся 2 целых числа: a и b.
данные
Необходимо вывести все решения, если их число конечно, “NO” (без кавычек), если решений нет, и “INF” (без кавычек), если решений бесконечно много.
НА ПИТОНЕ.
Ответ:
Объяснение:
Write(‘Введите a,b: ‘); Read(a,b);
if (b mod a)=0 then Writeln(-b div a) else Writeln(‘NO’)
if b=0 then Writeln(‘INF’) else Writeln(‘NO’)
📺 Видео
Самый быстрый алгоритм поиска делителей числа | Информатика ЕГЭ 2023Скачать
Решение простых задач на python | Определить максимальное число из трёхСкачать
Решето Эратосфена – алгоритм определения простых чисел. Решение задачи на PythonСкачать
Решение задачи "Сумма двух чисел" по теме "Функция input()"Скачать
Решение простых задач на python | Решить квадратное уравнениеСкачать
Сумма и произведение цифр числа. Решение задачи на PythonСкачать
Целые (int) и дробные (float) в PythonСкачать
Python для самых маленьких. Линейные уравнения. Решение задачСкачать
2.5 Перестановка цифр. "Поколение Python": курс для начинающих. Курс StepikСкачать