NameErro: name 'y' is not defined

Sergelios

Новичок
Пользователь
Дек 14, 2021
21
0
1
Помогите, пожалуйста, начинающему.
Задача. Создать класс, кот. хранит в себе координаты точки на плоскости XOY.
Программа должна считать значение производной cos(2*x**2) в этой точке.
В основном коде программа должна создавать объект класса и выводить
значение производной. Для решения задачи использовать библиотеку Sympy.
Это мой код2021-12-21_21-35-23.png
Код:
#!/usr/bin/env python
# coding: utf-8

# In[ ]:


from sympy import*
x = Symbol("x")
class Coordinates:
    def __init__(self,x,y):
        self.__x = x
        self.__y = y
        self.__y = diff(cos(2*x**2))
    @property  
    def x(self):
        return self._x
    @property
    def y(self):
        return self._y
x = int(input())
object_ = Coordinates(x,y)
print(object_.x, object_.y)
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 599
464
83
я не понял вопроса, вам нужно задачу решить или ответить почему y не определен?

отвечу на вопрос, вы не определили переменную y, поэтому и ошибка...

можно так, но ваш код не решает задачу...
Python:
class Coordinates:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def calc(self):
        return diff(cos(2*self.x**2))


coordinates = Coordinates(2, 3)
print(coordinates.calc())
 

Sergelios

Новичок
Пользователь
Дек 14, 2021
21
0
1
я не понял вопроса, вам нужно задачу решить или ответить почему y не определен?

отвечу на вопрос, вы не определили переменную y, поэтому и ошибка...

можно так, но ваш код не решает задачу...
Python:
class Coordinates:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def calc(self):
        return diff(cos(2*self.x**2))


coordinates = Coordinates(2, 3)
print(coordinates.calc())
 

Sergelios

Новичок
Пользователь
Дек 14, 2021
21
0
1
я не понял вопроса, вам нужно задачу решить или ответить почему y не определен?

отвечу на вопрос, вы не определили переменную y, поэтому и ошибка...

можно так, но ваш код не решает задачу...
Python:
class Coordinates:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def calc(self):
        return diff(cos(2*self.x**2))


coordinates = Coordinates(2, 3)
print(coordinates.calc())
Спасибо, за то, что уделили внимание моему вопросу. Конечно же мне нужно решит задачу. Но так, чтобы мне было понятно, почему у меня
не получается. Ведь когда осваиваешь питон самостоятельно без руководителя, важно чтобы кто-то опытный направлял и подсказывал,
ведь верно?
 

Sergelios

Новичок
Пользователь
Дек 14, 2021
21
0
1
Спасибо, за то, что уделили внимание моему вопросу. Конечно же мне нужно решит задачу. Но так, чтобы мне было понятно, почему у меня
не получается. Ведь когда осваиваешь питон самостоятельно без руководителя, важно чтобы кто-то опытный направлял и подсказывал,
ведь верно?
чего-то у меня нет понимания как определить переменную у.

А так я не ближе к цели?
2021-12-22_11-48-33.png
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 599
464
83
я ж вам пример показал...
нет не ближе, переменной у у вас так и нет...

Python:
from sympy import diff, cos


class Coordinates:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def calc(self):
        return diff(cos(2*self.x**2))


x = int(input())
y = int(input())

coordinates = Coordinates(x, y)
print(coordinates.calc())
 
Последнее редактирование:

Sergelios

Новичок
Пользователь
Дек 14, 2021
21
0
1
я ж вам пример показал...
нет не ближе, переменной у у вас так и нет...

Python:
from sympy import diff, cos


class Coordinates:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def calc(self):
        return diff(cos(2*self.x**2))


x = int(input())
y = int(input())

coordinates = Coordinates(x, y)
print(coordinates.calc())
Понятней не стало. Я в панике. А конкретнее можно как ввести эту переменную? Будьте снисходительны к начинающему.
 

Ципихович Эндрю

Активный пользователь
Пользователь
Мар 27, 2021
490
25
28
что сие делает?
если
Код:
x = 3
y = 6
ответ 0 - ошибок нет
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 599
464
83
что сие делает?
если
Код:
x = 3
y = 6
ответ 0 - ошибок нет
незнаю, но задачу не решает, которая у ТСа
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 599
464
83
Понятней не стало. Я в панике. А конкретнее можно как ввести эту переменную? Будьте снисходительны к начинающему.
ну вы не знаете самых основ, я не преподаватель, почитайте книжку любую по питону для начинающих...
 

Sergelios

Новичок
Пользователь
Дек 14, 2021
21
0
1
ну вы не знаете самых основ, я не преподаватель, почитайте книжку любую по питону для начинающих...
Спасибо. Вы мне очень помогли
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Задача. Создать класс, кот. хранит в себе координаты точки на плоскости XOY.
Программа должна считать значение производной cos(2*x**2) в этой точке.
В основном коде программа должна создавать объект класса и выводить
значение производной.
Задание не очень понятно. Видимо x у точки должен задаваться пользователем, а y - вычисляться через производную.
Если так, то вот пример:
Python:
from sympy import Symbol, diff, cos


class Coordinates:
    def __init__(self, x):
        self.x = x
        self.y = self.calc()

    def calc(self):
        x = Symbol('x')  # символ x для формулы
        # формула для расчета производной функции y = cos(2 * x**2)
        dx = diff(cos(2 * x**2), x)
        # вычисление производной функции y = cos(2 * x**2) для x = self.x
        y = dx.evalf(subs={x: self.x})
        return y


c = Coordinates(1)  # x = 1
print(c.y)  # производная функции y = cos(2 * x**2) для x = 1
 

Sergelios

Новичок
Пользователь
Дек 14, 2021
21
0
1
я ж вам пример показал...
нет не ближе, переменной у у вас так и нет...

Python:
from sympy import diff, cos


class Coordinates:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def calc(self):
        return diff(cos(2*self.x**2))


x = int(input())
y = int(input())

coordinates = Coordinates(x, y)
print(coordinates.calc())
Задача. Создать класс, кот. хранит в себе координаты точки на плоскости XOY.
Программа должна считать значение производной cos(2*x**2) в этой точке.
В основном коде программа должна создавать объект класса и выводить
значение производной.
Значение x вводится со строки ввода, а производная вычисляется.
Обе координаты выводятся в виде атрибутов класса.
В вашем коде тоже переменная y тоже не определена.
 

Форум IT Специалистов