I have given the correct input and he is asking me to return as int and float now i am not sure how can i do that if anyone can help me then please do.
Your code so far
class R2Vector:
def __init__(self, *, x, y):
self.x = x
self.y = y
def norm(self):
return sum(val**2 for val in vars(self).values())**0.5
def __str__(self):
return str(tuple(getattr(self, i) for i in vars(self)))
def __repr__(self):
arg_list = [f'{key}={val}' for key, val in vars(self).items()]
args = ', '.join(arg_list)
return f'{self.__class__.__name__}({args})'
def __add__(self, other):
if type(self) != type(other):
return NotImplemented
kwargs = {i: getattr(self, i) + getattr(other, i) for i in vars(self)}
return self.__class__(**kwargs)
def __sub__(self, other):
if type(self) != type(other):
return NotImplemented
kwargs = {i: getattr(self, i) - getattr(other, i) for i in vars(self)}
return self.__class__(**kwargs)
# User Editable Region
def __mul__(self, other):
if isintance(other, (int, float)):
return
# User Editable Region
class R3Vector(R2Vector):
def __init__(self, *, x, y, z):
super().__init__(x=x, y=y)
self.z = z
v1 = R2Vector(x=2, y=3)
v2 = R2Vector(x=0.5, y=1.25)
print(f'v1 = {v1}')
print(f'v2 = {v2}')
v3 = v1 + v2
print(f'v1 + v2 = {v3}')
v4 = v1 - v2
print(f'v1 - v2 = {v4}')
Your browser information:
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36
Challenge Information:
Learn Special Methods by Building a Vector Space - Step 52
def __mul__(self, other):
if isinstance(other, (int, float)):
return self.__class__(**{i: getattr(self, i) * other for i in vars(self)})
return NotImplemented
this is the code i have written can someone check and let me know which line i am getting the error its not reflecting in the website.
please format your code correctly, it is impossible to help you with malformatted code
I’ve edited your post to improve the readability of the code. When you enter a code block into a forum post, please precede it with a separate line of three backticks and follow it with a separate line of three backticks to make it easier to read.
You can also use the “preformatted text” tool in the editor (</>) to add backticks around text.
def __mul__(self, other):
if isinstance (type(other), (int, float)):
return self.__class__(**{i: getattr(self, i) * other for i in vars(self)})
return NotImplemented
def __mul__(self, other):
if isinstance (type(other), (int, float)):
return self.__class__(**{i: getattr(self, i) * other for i in vars(self)})
return NotImplemented
def __mul__(self, other):
if (type(other), (int, float)):
return self.__class__(**{i: getattr(self, i) * other for i in vars(self)})
return NotImplemented