I can't compile because of this part in my code:
if command == 'HOWMANY':
opcodegroupr = "A0"
opcoder = "85"
elif command == 'IDENTIFY':
opcodegroupr = "A0"
opcoder = "81"
I have this error:
Sorry: IndentationError: ('unindent does not match any outer indentation level', ('wsn.py', 1016, 30, "\t\telif command == 'IDENTIFY':\n"))
But I don't see any indentation error. What can be the problem?
This question is related to
python
compiler-errors
indentation
In doubt change your editor to make tabs and spaces visible. It is also a very good idea to have the editor resolve all tabs to 4 spaces.
It happened to me also, but I got the problem solved. I was using an indentation of 5 spaces, but when I pressed tab, it used to put a four space indent. So I think you should just use one thing; i.e. either tab button to add indent or spaces. And an ideal indentation is one of 4 spaces. I found IntelliJ to be very useful for these sort of things.
You are mixing tabs and spaces.
Find the exact location with:
python -tt yourscript.py
and replace all tabs with spaces. You really want to configure your text editor to only insert spaces for tabs as well.
In Notepad++
View --->Show Symbols --->Show White Spaces and Tabs(select)
replace all tabs with spaces.
Did you maybe use some <tab>
instead of spaces?
Try remove all the spaces before the code and readd them using <space>
characters, just to be sure it's not a <tab>
.
This has happened with me too, python is space sensitive,
so after " : "(colon)
you might have left a space,
for example:
[space is represented by "."]
`if command == 'HOWMANY':.
opcodegroupr = "A0"
opcoder = "85"
elif command == 'IDENTIFY':.
opcodegroupr = "A0"
opcoder = "81"`
so try removing the unnecessary spaces,if you open it in IDE your cursor will be displayed away from ":" something like :- "if command == 'HOWMANY': |"
....whereas it should be:- "if command == 'HOWMANY':| "
For Sublime Text Editor
Indentation Error generally occurs when the code contains a mix of both tabs and spaces for indentation. I have got a very nice solution to correct it, just open your code in a sublime text editor and find 'Tab Size'
in the bottom right corner of Sublime Text Editor and click it. Now select either
'Convert Indentation to Spaces'
OR
'Convert Indentation to Tabs'
Your code will work in either case.
Additionally, if you want Sublime text to do it automatically for you for every code you can update the Preference settings as below:-
Sublime Text menu > Preferences > Settings - Syntax Specific :
Python.sublime-settings
{
"tab_size": 4,
"translate_tabs_to_spaces": true
}
Source: Stackoverflow.com