Back

Explore Courses Blog Tutorials Interview Questions
0 votes
2 views
in Python by (47.6k points)

Compiler showed:

File "temp.py", line 56 return result SyntaxError: 'return' outside function

Where was I wrong?

class Complex (object): 

def __init__(self, realPart, imagPart): 

self.realPart = realPart 

self.imagPart = imagPart 

def __str__(self): 

if type(self.realPart) == int and type(self.imagPart)

== int:

if self.imagPart >=0: 

return '%d+%di'%(self.realPart,

self.imagPart) 

elif self.imagPart <0: 

return '%d%di'%(self.realPart,

self.imagPart) 

else: 

if self.imagPart >=0: 

return '%f+%fi'%(self.realPart,

self.imagPart) 

elif self.imagPart <0: 

return '%f%fi'%(self.realPart,

self.imagPart) 

def __div__(self, other):

r1 = self.realPart 

i1 = self.imagPart 

r2 = other.realPart 

i2 = other.imagPart 

resultR = float(float(r1*r2+i1*i2)/float(r2*r2+i2*i2))

resultI = float(float(r2*i1-r1*i2)/float(r2*r2+i2*i2)) 

result = Complex(resultR, resultI) 

return result 

c1 = Complex(2,3) 

c2 = Complex(1,4) 

print c1/c2

1 Answer

0 votes
by (106k points)

In your code everything from below-mentioned line:

else: 

if self.imagPart >=0: 

return '%f+%fi'%(self.realPart, self.imagPart) 

elif self.imagPart <0: # Everything under here..

To this line:

resultI = float(float(r2*i1-r1*i2)/float(r2*r2+i2*i2)) 

result = Complex(resultR, resultI) 

return result # Needs to be unindented.

This has the wrong indenting.

Related questions

0 votes
1 answer
0 votes
0 answers
0 votes
1 answer
0 votes
1 answer

Browse Categories

...