Создайте класс Point, определите для него конструктор, метод __str__, необходимые арифметические операции. У класса Point два поля: x и y.
Программа получает на вход число \(N\), далее координаты \(N\) точек. Выведите координаты точки, наиболее удаленной от начала координат.
Реализация класса должна содержать конструктор, метод __str__ для вывода точки, метод dist, который возвращает расстояние от начала координат до точки.
| Ввод | Вывод |
|---|---|
2 1 2 2 3 |
2 3 |
Создайте класс Point, определите для него конструктор, метод __str__, необходимые арифметические операции. У класса Point два поля: x и y.
Выведите координаты центра масс данного множества точек (учтите, что это — два действительных числа).
Для создания точки определите конструктор, который мог бы принимать на вход как два числа, так и строку. Таким образом, точку можно будет создавать как вызовом Point(x, y), так и Point(input()).
Определите операции сложения точек, умножения точки на число, деления точки на число.
| Ввод | Вывод |
|---|---|
2 1 2 2 3 |
1.5 2.5 |
Создайте класс Point, определите для него конструктор, метод __str__, необходимые арифметические операции. У класса Point два поля: x и y.
Выведите диаметр данного множества – максимальное расстояние между двумя данными точками.
Для этого удобно определить операцию разности двух точек, возвращающую разность двух радиус-векторов, затем вызывать метод, вычисляющий длину данного радиус-вектора.
| Ввод | Вывод |
|---|---|
3 1 1 1 0 0 0 |
1.4142135623731 |
Создайте класс Point, определите для него конструктор, метод __str__, необходимые арифметические операции. У класса Point два поля: x и y.
Определите для точек операцию сравнения __lt__, сравнивающую точки по значению расстояния от начала координат. Отсортируйте данные точки в порядке возрастания расстояния от начала координат. Точки с одинаковым расстоянием должны идти в том порядке, в котором они были даны.
| Ввод | Вывод |
|---|---|
3 1 0 -1 -1 0 0 |
0 0 1 0 -1 -1 |
Создайте класс Point, определите для него конструктор, метод __str__, необходимые арифметические операции. У класса Point два поля: x и y.
Среди данных точек найдите три точки, образующие треугольник с наибольшим периметром. Выведите данный периметр.
Для нахождения периметра треугольника напишите отдельную функцию Perimeter(A, B, C).
| Ввод | Вывод |
|---|---|
4 0 0 0 1 1 0 1 1 |
3.41421356237309 |
Создайте класс Point, определите для него конструктор, метод __str__, необходимые арифметические операции. У класса Point два поля: x и y.
Среди данных точек найдите три точки, образующие треугольник с наибольшей площадью. Выведите данную площадь.
Для нахождения площади треугольника напишите отдельную функцию Area(A, B, C).
| Ввод | Вывод |
|---|---|
4 0 0 0 1 1 0 1 1 |
0.5 |
Класс Fraction должен иметь два поля: числитель a и знаменатель b. Оба поля должны быть типа int.
Для класса Fraction определите конструктор, который может принимать следующие виды параметров:
Fraction.int.int.str, содержащий два целых числа, записанных либо через пробел, либо через дробную черту или одно целое число.У каждой дроби существует единственное каноническое представление. Каноническое представление: это такое представление \(\frac{a}{b}\), что \(b>0\), \( (a, b) = 1\). Класс должен иметь метод reduce, который приводит дробь к каноническому представлению. После каждой операции с дробями (в том числе и в конструкторе) необходимо вызывать метод reduce для сокращения дроби.
Необходимо определить метод __str__, который выводит a/b в каноническом представлении, если же дробь является целым числом, то просто значение этого числа.
Каждая строка входного файла содержит либо два числа, записанных через пробел или дробную черту, либо одно число. Необходимо считать это число в строку и вызвать конструктор для считанной строки, получив объект класса Fraction. После этого нужно вывести данный объект функцией print.
| Ввод | Вывод |
|---|---|
1 2 30/-9 8/4 3 |
1/2 -10/3 2 3 |
Класс Fraction должен иметь два поля: числитель a и знаменатель b. Оба поля должны быть типа int.
Для класса Fraction определите конструктор, который может принимать следующие виды параметров:
Fraction.int.int.str, содержащий два целых числа, записанных либо через пробел, либо через дробную черту или одно целое число.У каждой дроби существует единственное каноническое представление. Каноническое представление: это такое представление \(\frac{a}{b}\), что \(b>0\), \( (a, b) = 1\). Класс должен иметь метод reduce, который приводит дробь к каноническому представлению. После каждой операции с дробями (в том числе и в конструкторе) необходимо вызывать метод reduce для сокращения дроби.
Необходимо определить метод __str__, который выводит a/b в каноническом представлении, если же дробь является целым числом, то просто значение этого числа.
Напомним, что от вас требовалось реализовать конструктор класса Fraction, который принимает на вход разные варианты параметров. В этой задаче проверяется реализация всех этих четырех форм конструктора.
В этой и следующих задачах на проверку нужно сдать только реализацию класса Fraction.
| Ввод | Вывод |
|---|---|
a = Fraction()
b = Fraction(1)
c = Fraction(1, 3)
d = Fraction('14 35')
e = Fraction('-6/2')
f = Fraction(e)
print(a, b, c, d, e, f, sep='\n')
|
0 1 1/3 2/5 -3 -3 |