Python Forum

Full Version: need help what is the error here
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
i am trying to find the cube root and print
cube=-64
for i in range(abs(cube)+1):
    if i**3 >=abs(cube):
	break
if i**3 !=abs(cube):
	print(cube," is not a perfect cube")
else:
   if  cube<0:
     	i = -i
    print('Cube root of ' + str(cube) + ' is ' + str(cube))
error is line no 4

Error:
C:\Users\solas\Documents>cubert.py File "C:\Users\s\Documents\cubert.py", line 4 passed all potential cube roots ^ SyntaxError: invalid syntax
1)sure there is a syntax error ?
2) here "i" i in range in line no 2 , does it initializes to zero for first iteration.Could you please explain the control how it is passing line by line
The 'if' statement must have a code block. Perhaps that 'break' statement? If that is the case, the indentation is wrong.
range() starts with 0. In order to start with 1, for example, add it as a second parameter: range(var, 1).

Do you initialize cube with a value of -64? Also, 'i' in line 9?


cube=-64 # ?
for i in range(abs(cube)+1): 
    if i**3 >=abs(cube):
        break

    if i**3 !=abs(cube):
        print(cube," is not a perfect cube")
    else:
    if  cube<0:
        i = -i # ??

    print('Cube root of ' + str(cube) + ' is ' + str(cube))
it worked fine got 201 as answer,dont know what is the error but got output ,maybe like you said indentation

cube = 8120601
for guess in range(abs(cube)+1):
    # passed all potential cube roots
    if guess**3 >= abs(cube):
        # no need to keep searching
        break
if guess**3 != abs(cube):
    print(cube, 'is not a perfect cube')
else:
    if cube < 0:
        guess = -guess
    print('Cube root of ' + str(cube) + ' is ' + str(guess))