Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

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.