Geek University

Syntax and logical errors

Two types of errors can occur in Python:

1. Syntax errors – usually the easiest to spot, syntax errors occur when you make a typo. Not ending an if statement with the colon is an example of an syntax error, as is misspelling a Python keyword (e.g. using whille instead of while). Syntax error usually appear at compile time and are reported by the interpreter. Here is an example of a syntax error:

x = int(input('Enter a number: '))

whille x%2 == 0:
    print('You have entered an even number.')
else:
    print ('You have entered an odd number.')

Notice that the keyword whille is misspelled. If we try to run the program, we will get the following error:

C:Python34Scripts>python error.py
  File "error.py", line 3
    whille x%2 == 0:
           ^
SyntaxError: invalid syntax

2. Logical errors – also called semantic errors, logical errors cause the program to behave incorrectly, but they do not usually crash the program. Unlike a program with syntax errors, a program with logic errors can be run, but it does not operate as intended. Consider the following example of an logical error:

x = float(input('Enter a number: '))
y = float(input('Enter a number: '))

z = x+y/2
print ('The average of the two numbers you have entered is:',z)

The example above should calcuate the average of the two numbers the user enters. But, because of the order of operations in arithmetic (the division is evaluated before addition) the program will not give the right answer:

>>> 
Enter a number: 3
Enter a number: 4
The average of the two numbers you have entered is: 5.0
>>>

To rectify this problem, we will simply add the parentheses: z = (x+y)/2

Now we will get the right result:

>>> 
Enter a number: 3
Enter a number: 4
The average of the two numbers you have entered is: 3.5
>>>

Subscribe to our Newsletter

Like us on Facebook

Share on Twitter

top
Developed by Signum Soft