Revision history [back]

It seems like you are working in the notebook environment in sage. Perhaps you are getting the following output

Traceback (click to the left of this block for traceback)
...
SyntaxError: invalid syntax


And if you click to the left of the block (as indicated above) you should see something like

Traceback (most recent call last):            if sums[i-1] != sums[i] and sums[i] == sums[i+1]: ''' Finding solutions'''
File "", line 1, in <module>

File "/tmp/tmp_QhfdJ/___code___.py", line 5
crev = [] ''' Calculating Cube Roots'''
^
SyntaxError: invalid syntax


It seems like you are working in the notebook environment in sage. Perhaps you are getting the following output

Traceback (click to the left of this block for traceback)
...
SyntaxError: invalid syntax


And if you click to the left of the block (as indicated above) you should see something like

Traceback (most recent call last):            if sums[i-1] != sums[i] and sums[i] == sums[i+1]: ''' Finding solutions'''
File "", line 1, in <module>

File "/tmp/tmp_QhfdJ/___code___.py", line 5
crev = [] ''' Calculating Cube Roots'''
^
SyntaxError: invalid syntax


It seems that the trouble is being caused by the use of triple quotes, the hash character (#) is recommended for comments.

def Ramanujan(t):
cubes = [x**3 for x in range(1,t/10)]
crev = [] # Calculating Cube Roots
for x,x3 in enumerate(cubes):
crev[x3] = x + 1
sums = sorted(x + y for x in cubes for y in cubes if y < x) # Organizing Data
for i in range(1, len(sums)-1):
if sums[i-1] != sums[i] and sums[i] == sums[i+1]: # Finding solutions
if sums[i]<=t: # Limiting how many solutions printed.
print "%10d"%(sums[i]) # Printing desired outputs
else:
break # Ending the function.


The code seems to be broken, Ramanujan(20) yields an error.