Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Syntax error not understood
#1
Hi, 

Completely new user for Python coding. Please help to understand the error. 

import math 

def euclideanDistance(instance1,instance2, length):
    distance = 0
    for x in range(length):
        distance += pow((instance1[x]-instance2[x],2)
        return math.sqrt(distance)
it displays the following error 

Error:
File "test6.py", line 9     return math.sqrt(distance)          ^ SyntaxError: invalid syntax

please ignore the thread it was just a syntax error

distance += pow((instance1[x]-instance2[x],2))
Reply
#2
When you get a syntax error like this the problem is often in the previous line.
You forgot a parenthesis.
Reply
#3
Also, for integer powers, you can use the '**' operator:
distance += (instance1[x]-instance2[x])**2 
Unless noted otherwise, code in my posts should be understood as "coding suggestions", and its use may require more neurones than the two necessary for Ctrl-C/Ctrl-V.
Your one-stop place for all your GIMP needs: gimp-forum.net
Reply
#4
slightly off-topic but it seems the ** operator isn't limited to integers, for either exponent or mantissa, which would allow one to change the code to not import math and simply raise the distance to the power of 1/2

>>> 9**0.5
3.0
Reply
#5
(Jan-03-2017, 12:57 PM)pedros Wrote: slightly off-topic but it seems the ** operator isn't limited to integers, for either exponent or mantissa, which would allow one to change the code to not import math and simply raise the distance to the power of 1/2

>>> 9**0.5
3.0

math.sqrt() may have some optimizations... and a good compiler could replace the operation with inlined multiplications when the exponent of '**' is a small integer constant.
Unless noted otherwise, code in my posts should be understood as "coding suggestions", and its use may require more neurones than the two necessary for Ctrl-C/Ctrl-V.
Your one-stop place for all your GIMP needs: gimp-forum.net
Reply
#6
One thing that was not mentioned. Your return statement is part of the loop.
That means you will never see a second iteration, thus negating the purpose of the loop
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Syntax error for "root = Tk()" dlwaddel 15 1,008 Jan-29-2024, 12:07 AM
Last Post: dlwaddel
Photo SYNTAX ERROR Yannko 3 333 Jan-19-2024, 01:20 PM
Last Post: rob101
  Syntax error while executing the Python code in Linux DivAsh 8 1,451 Jul-19-2023, 06:27 PM
Last Post: Lahearle
  Code is returning the incorrect values. syntax error 007sonic 6 1,135 Jun-19-2023, 03:35 AM
Last Post: 007sonic
  syntax error question - string mgallotti 5 1,250 Feb-03-2023, 05:10 PM
Last Post: mgallotti
  Syntax error? I don't see it KenHorse 4 1,194 Jan-15-2023, 07:49 PM
Last Post: Gribouillis
  Syntax error tibbj001 2 847 Dec-05-2022, 06:38 PM
Last Post: deanhystad
  Python-for-Android:p4a: syntax error in main.py while compiling apk jttolleson 2 1,777 Sep-17-2022, 04:09 AM
Last Post: jttolleson
  Mysql Syntax error in pymysql ilknurg 4 2,288 May-18-2022, 06:50 AM
Last Post: ibreeden
  Solving equation equal to zero: How to resolve the syntax error? alexfrol86 3 1,894 Feb-21-2022, 08:58 AM
Last Post: deanhystad

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020