Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
5 / 5 / 1
Регистрация: 06.10.2020
Сообщений: 176

Проблемы с инициализацией в классах

18.01.2021, 19:41. Показов 1306. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Измените __init__ так, чтобы можно было задать вектор координатами точек концов вектора (двумя кортежами или списками), а не только двумя проекциями.

Input 1:
Python
1
2
v = Vect(5, 6)
print(v.x, v.y)
Output 1:
Python
1
5 6
Input 2:
Python
1
2
3
v = Vect((2, 2), (3, 3))
print(v.x)
print(v.y)
Output 2:
Python
1
2
1
1
Input 3:
Python
1
2
v = Vect(3, 2)
print(v)
Output 3:
Python
1
(3, 2)
Моя попытка (знаю, далеко не рациональная):

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import math
 
class Vect():
    
    def __init__(self, *nums):
        self.nums = nums
        summ = 0
        for self.n in self.nums:
            summ += 1
        xx = 1
        if summ == 2:
            for self.n in self.nums:
                if xx == 1:
                    self.x = self.n
                    xx += 1
                else:
                    self.y = self.n
        if summ == 4:
            for self.n in self.nums:
                if xx == 1:
                    self.x = self.n
                    xx += 1
                elif xx == 2:
                    self.y = self.n
                    xx += 1
                elif xx == 3:
                    self.m = self.n
                    xx += 1
                else:
                    self.p = self.n
            self.x = self.p - self.x
            self.y = self.m - self.y
 
    def __repr__(self): # переопределите описания строкового представления
        #return str(self.values)
        return str("(" + str(self.x) + ", " + str(self.y) + ")")
Не понимаю, как здесь применить списки или кортежи.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.01.2021, 19:41
Ответы с готовыми решениями:

Проблемы с инициализацией!
Привет!! В программе несколько функций, и все они завязаны на несколько параметров, один из которых массив. эти функции вынесены вне...

Проблемы с инициализацией
Только начали программировать и получили такое задание: Найти три самых часто встречающихся слова длиннее 4 букв. Входные данные: строка....

Проблемы с инициализацией данных
Сразу оговорюсь, что на форуме пишу впервые и перед тем, как писать о проблеме ознакомился с похожими темами , но именно по моей проблеме...

1
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
19.01.2021, 05:18
Лучший ответ Сообщение было отмечено mangomang как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Vect:
    def __init__(self, *args):
        # print(*args)
        if len(args) != 2:
            raise ValueError('фыр-фыр')
        if isinstance(args[0], int) and isinstance(args[1], int):
            self.x = args[0]
            self.y = args[1]
        elif isinstance(args[0], tuple) and isinstance(args[1], tuple):
            v1 = args[0]
            v2 = args[0]
            # ...
        else:
            raise ValueError('фыр-фыр2')
        
        
v = Vect(5, 6)
print(v.x, v.y)
v = Vect((2, 2), (3, 3))
print(v.x, v.y)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.01.2021, 05:18
Помогаю со студенческими работами здесь

Проблемы с инициализацией конструктора
Дорогие форумчане! Нужна ваша помощь по 3м задачкам. 1) В этой задаче описать класс " матрица " и одним из компонентов будет...

Проблемы с инициализацией управления клавиатуры
Подскажите пожалуйста как правильно прописать код инициализации, чтобы была работала реакция с клавиатуры. #include <GL/glut.h> ...

[РЕШЕНО] Проблемы с инициализацией USART
Доброго времени суток всем. Столкнулся с совсем простой проблемой, но никак не пойму что же не так. Нужно просто заюзать USORT1 на...

Проблемы с динамической инициализацией char-массива
Почему вообще следующий код при h = 6 создает массив длинной этак в 20 символов? char *ret = new char; При этом то же происходит и если...

Проблемы с инициализацией графики в играх после переустановки Windows
Имею ноутбук Lenovo V560, старенький уже, но ни разу меня не подводил. Вот с такой начинкой(см. файлики). Позавчера стояла Windows 8.1...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru