Unindent does not match any outer indentation level python ошибка

When I compile the Python code below, I get

IndentationError: unindent does not match any outer indentation level


import sys

def Factorial(n): # Return factorial
    result = 1
    for i in range (1,n):
        result = result * i
    print "factorial is ",result
    return result

Why?

mkrieger1's user avatar

mkrieger1

18.5k4 gold badges53 silver badges64 bronze badges

asked Jan 29, 2009 at 16:34

cbrulak's user avatar

7

One possible cause for this error is that there might be spaces mixed with tabs for indentation. Try doing a search & replace to replace all tabs with a few spaces.

Try this:

import sys

def Factorial(n): # return factorial
    result = 1
    for i in range (1,n):
        result = result * i
    print "factorial is ",result
    return result

print Factorial(10)

mkrieger1's user avatar

mkrieger1

18.5k4 gold badges53 silver badges64 bronze badges

answered Jan 29, 2009 at 16:37

Kevin Tighe's user avatar

Kevin TigheKevin Tighe

20.1k4 gold badges35 silver badges36 bronze badges

8

IMPORTANT:
Spaces are the preferred method — see PEP 8 Indentation and Tabs or Spaces?. (Thanks to @Siha for this.)

For Sublime Text users:

Set Sublime Text to use tabs for indentation:
View —> Indentation —> Convert Indentation to Tabs

Uncheck the Indent Using Spaces option as well in the same sub-menu above.
This will immediately resolve this issue.

wjandrea's user avatar

wjandrea

27.3k9 gold badges59 silver badges80 bronze badges

answered May 8, 2014 at 11:44

psiyum's user avatar

psiyumpsiyum

6,4073 gold badges29 silver badges50 bronze badges

6

To easily check for problems with tabs/spaces you can actually do this:

python -m tabnanny yourfile.py

or you can just set up your editor correctly of course :-)

answered Feb 4, 2009 at 21:50

André's user avatar

AndréAndré

13k3 gold badges33 silver badges45 bronze badges

3

Are you sure you are not mixing tabs and spaces in your indentation white space? (That will cause that error.)

Note, it is recommended that you don’t use tabs in Python code. See the style guide. You should configure Notepad++ to insert spaces for tabs.

Peter Mortensen's user avatar

answered Jan 29, 2009 at 16:41

zdan's user avatar

zdanzdan

28.5k7 gold badges59 silver badges70 bronze badges

2

Whenever I’ve encountered this error, it’s because I’ve somehow mixed up tabs and spaces in my editor.

answered Jan 29, 2009 at 16:45

Dana's user avatar

DanaDana

31.9k17 gold badges62 silver badges73 bronze badges

0

If you are using Vim, hit escape and then type

gg=G

This auto indents everything and will clear up any spaces you have thrown in.

answered May 7, 2015 at 9:43

cbartondock's user avatar

cbartondockcbartondock

6546 silver badges17 bronze badges

0

If you use Python’s IDLE editor you can do as it suggests in one of similar error messages:

1) select all, e.g. Ctrl + A

2) Go to Format -> Untabify Region

3) Double check your indenting is still correct, save and rerun your program.

I’m using Python 2.5.4

Tshilidzi Mudau's user avatar

answered Jun 13, 2013 at 15:26

Gatica's user avatar

GaticaGatica

5931 gold badge6 silver badges13 bronze badges

0

The line: result = result * i should be indented (it is the body of the for-loop).

Or — you have mixed space and tab characters

answered Jan 29, 2009 at 16:38

Abgan's user avatar

AbganAbgan

3,70022 silver badges31 bronze badges

2

For Spyder users goto
Source > Fix Indentation
to fix the issue immediately

answered Jan 5, 2020 at 16:56

Abdulbasith's user avatar

0

Using Visual studio code

If you are using vs code than, it will convert all mix Indentation to either space or tabs using this simple steps below.

  1. press Ctrl + Shift + p

  2. type indent using spaces

  3. Press Enter

answered Jul 24, 2020 at 8:01

Devil's user avatar

DevilDevil

1,02212 silver badges18 bronze badges

1

On Atom

go to

Packages > Whitespace > Convert Spaces to Tabs

Then check again your file indentation:

python -m tabnanny yourFile.py

or

>python
>>> help("yourFile.py")

answered Mar 11, 2015 at 14:27

loretoparisi's user avatar

loretoparisiloretoparisi

15.6k11 gold badges101 silver badges143 bronze badges

If you use notepad++, do a «replace» with extended search mode to find t and replace with four spaces.

answered Mar 20, 2014 at 17:23

Jackie Lee's user avatar

Jackie LeeJackie Lee

2393 silver badges3 bronze badges

Looks to be an indentation problem. You don’t have to match curly brackets in Python but you do have to match indentation levels.

The best way to prevent space/tab problems is to display invisible characters within your text editor. This will give you a quick way to prevent and/or resolve indentation-related errors.

Also, injecting copy-pasted code is a common source for this type of problem.

answered Jul 31, 2012 at 20:27

Matt Kahl's user avatar

Matt KahlMatt Kahl

7537 silver badges9 bronze badges

If you use colab, then you can do avoid the error by this commands.

  1. < Ctrl-A >
  2. < Tab >
  3. < Shift-Tab >

It’s all [tab] indentation convert to [space] indentation. Then OK.

answered Nov 25, 2021 at 3:40

WangSung's user avatar

WangSungWangSung

2192 silver badges5 bronze badges

0

For what its worth, my docstring was indented too much and this also throws the same error

class junk: 
     """docstring is indented too much""" 
    def fun(): return   

IndentationError: unindent does not match any outer indentation level

answered Mar 5, 2019 at 23:00

plfrick's user avatar

plfrickplfrick

1,10912 silver badges12 bronze badges

1

I’m using Sublime text in Ubuntu OS. To fix this issue go to

view -> Indentation -> convert indentation to tabs

Dharman's user avatar

Dharman

30.5k22 gold badges84 silver badges133 bronze badges

answered Mar 3, 2021 at 10:28

Rahal Kanishka's user avatar

Just a addition. I had a similar problem with the both indentations in Notepad++.

  1. Unexcepted indentation
  2. Outer Indentation Level

    Go to —-> Search tab —-> tap on replace —-> hit the radio button Extended below —> Now replace t with four spaces

    Go to —-> Search tab —-> tap on replace —-> hit the radio button Extended below —> Now replace n with nothing

answered Nov 12, 2015 at 21:42

I was using Jupyter notebook and tried almost all of the above solutions (adapting to my scenario) to no use. I then went line by line, deleted all spaces for each line and replaced with tab. That solved the issue.

answered Dec 15, 2018 at 4:48

Cur123's user avatar

Cur123Cur123

891 silver badge8 bronze badges

It could be because the function above it is not indented the same way.
i.e.

class a:
    def blah:
      print("Hello world")
    def blah1:
      print("Hello world")

answered Feb 14, 2014 at 2:52

Ali's user avatar

0

Since I realize there’s no answer specific to spyder,I’ll add one:
Basically, carefully look at your if statement and make sure all if, elif and else have the same spacing that is they’re in the same line at the start like so:

def your_choice(answer):
    if answer>5:
        print("You're overaged")
    elif answer<=5 and answer>1: 
            print("Welcome to the toddler's club!")
    else:
            print("No worries mate!")

answered Dec 7, 2018 at 13:42

NelsonGon's user avatar

NelsonGonNelsonGon

13k7 gold badges27 silver badges57 bronze badges

0

I am using Sublime Text 3 with a Flask project. I fixed the error using View > Indentation > Tab Width: 4 after unselected Indent Using Spaces

answered Jun 30, 2020 at 15:52

bmc's user avatar

bmcbmc

8171 gold badge12 silver badges23 bronze badges

This is because there is a mix-up of both tabs and spaces.
You can either remove all the spaces and replace them with tabs.

Or,
Try writing this:

#!/usr/bin/python -tt

at the beginning of the code. This line resolves any differences between tabs and spaces.

answered Mar 5, 2014 at 13:43

Eragon's user avatar

for Atom Users, Packages ->whitspace -> remove trailing whitespaces
this worked for me

answered Jul 28, 2015 at 12:41

Aha's user avatar

I had a function defined, but it did not had any content apart from its function comments…

def foo(bar):
    # Some awesome temporary comment.
    # But there is actually nothing in the function!
    # D'Oh!

It yelled :

  File "foobar.py", line 69

                                ^
IndentationError: expected an indented block

(note that the line the ^ mark points to is empty)

Multiple solutions:

1: Just comment out the function

2: Add function comment

def foo(bar):
    '' Some awesome comment. This comment could be just one space.''

3: Add line that does nothing

def foo(bar):
    0

In any case, make sure to make it obvious why it is an empty function — for yourself, or for your peers that will use your code

answered Dec 10, 2018 at 14:07

Cedric's user avatar

CedricCedric

5,10511 gold badges42 silver badges60 bronze badges

1

Firstly, just to remind you there is a logical error you better keep result=1 or else your output will be result=0 even after the loop runs.

Secondly you can write it like this:

import sys

def Factorial(n): # Return factorial
  result = 0
  for i in range (1,n):
     result = result * i

  print "factorial is ",result
  return result

Leaving a line will tell the python shell that the FOR statements have ended. If you have experience using the python shell then you can understand why we have to leave a line.

answered Dec 25, 2018 at 11:49

Faisal Ahmed Farooq's user avatar

For example:

1. def convert_distance(miles):
2.   km = miles * 1.6
3.   return km

In this code same situation occurred for me. Just delete the previous indent spaces of
line 2 and 3, and then either use tab or space. Never use both. Give proper indentation while writing code in python.
For Spyder goto Source > Fix Indentation. Same goes to VC Code and sublime text or any other editor. Fix the indentation.

answered Apr 11, 2020 at 6:48

Ayush Aryan's user avatar

Ayush AryanAyush Aryan

2014 silver badges4 bronze badges

I got this error even though I didn’t have any tabs in my code, and the reason was there was a superfluous closing parenthesis somewhere in my code. I should have figured this out earlier because it was messing up spaces before and after some equal signs… If you find anything off even after running Reformat code in your IDE (or manually running autopep8), make sure all your parentheses match, starting backwards from the weird spaces before/after the first equals sign.

answered Jul 24, 2020 at 7:52

Bartleby's user avatar

BartlebyBartleby

1,0741 gold badge13 silver badges14 bronze badges

Another way of correcting the indentation error is to copy your
code to PyCharm if you have configured that already and reformat the file
it will automatically indent correctly.

answered Jan 2 at 12:40

Zeeshan Javed's user avatar

I had the same issue yesterday, it was indentation error, was using sublime text editor. took my hours trying to fix it and at the end I ended up copying the code into VI text editor and it just worked fine. ps python is too whitespace sensitive, make sure not to mix space and tab.

answered Jun 26, 2014 at 15:57

user3731311's user avatar

0

I had the same error because of another thing, it was not about tabs vs. spaces. I had the first if slightly more indented than an else: much further down. If it is just about a space or two, you might oversee it after a long code block. Same thing with docstrings:

"""comment comment 
comment
"""

They also need to be aligned, see the other answer on the same page here.

Reproducible with a few lines:

if a==1:
    print('test')
 else:
    print('test2')

Throws:

  File "<ipython-input-127-52bbac35ad7d>", line 3
    else:
         ^
IndentationError: unindent does not match any outer indentation level

answered Oct 1, 2021 at 14:19

questionto42's user avatar

questionto42questionto42

6,7194 gold badges53 silver badges86 bronze badges

Python uses indentation to define the scope and extent of code blocks in constructs like class, function, conditional statements and loops. You can use both spaces and tabs to indent your code, and if you use both methods when writing your code, you will raise the error: IndentationError: unindent does not match any outer indentation level.

We will go through the error in detail and an example to learn how to solve it.


Table of contents

  • IndentationError: unindent does not match any outer indentation level
    • What is Indentation in Python?
  • Example: Mixing Indentation in Function
    • Solution
  • Summary

IndentationError: unindent does not match any outer indentation level

What is Indentation in Python?

Indentation is vital for constructing programs in Python. It refers to the correct use of white space to start a code block. With indentations, we can quickly identify the beginning and endpoint of any code block in our program. Let’s look at how indentation in Python works visually:

code indentation in Python
Code indentation in Python

To indicate a code block in Python, you must indent each block line by the same amount. You can use four spaces or one tab, a typical indentation for Python. According to the conventions in PEP 8, four white spaces is preferable. You can use indentation to nest code blocks within code blocks.

Python objects if you use both spaces and tabs to indent your code. You need to use one form of indentation, and this can be tricky because you cannot see the difference between spaces and tabs.

The error commonly occurs when you copy code from other sources to your script. The code you are copying may have a different indentation to what you are using.

The error can also occur if you have used indentation in the wrong place or have not used any indentation.

Example: Mixing Indentation in Function

Let’s write a program that calculates the square roots of a list of numbers and prints the result to the console. We will start by defining the function to calculate the square root of a number:

def get_square_roots(number_list):

    for number in number_list:

        sqrt_number = number ** 0.5

	    print(f'The square root of {number} is {sqrt_number}')

The function uses a for loop to iterate through every number in the list you will pass. We use the exponentiation operator to calculate the square root of the number and then print the result. Next, we will define the list of numbers and then call the get_square_roots() function.

number_list = [4, 9, 16, 25, 36]

get_square_roots(number_list)

Let’s run the code and see what happens:

sqrt_number = number ** 0.5
                          ^
IndentationError: unindent does not match any outer indentation level

The code returns the IndentationError, and the tick indicates the line responsible for the error.

Solution

We can use a text editor like Sublime Text to see the indentation style in our code by highlighting it, as shown below.

Code block with mixed indentation style
Code block with mixed indentation style

Each line represents a tab, and a dot represents a space. We can see a mix of spaces and tabs in the code snippet, particularly the line sqrt_number = number ** 0.5. To fix this, you can change replace the indentation on the other lines with four white spaces as this is the preferred indentation method. Alternatively, you can use tabs. Let’s look at the revised code in the text editor:

Code block with consistent indentation style
Code block with consistent indentation style

We can see each line has spaces instead of tabs. Let’s run the code to see what happens:

The square root of 4 is 2.0
The square root of 9 is 3.0
The square root of 16 is 4.0
The square root of 25 is 5.0
The square root of 36 is 6.0

The program returns the square root of each number in the list we pass to the function. You do not need to use a text editor to find differences in indentation style, but it does make it easier to spot them. Alternatively, you can manually go through each line in your code and stick to one indentation style.

Summary

Congratulations on reading to the end of this tutorial! The error “indentationerror: unindent does not match any outer indentation level” occurs when you mix spaces and tabs to indent your code. To solve this error, ensure all your code uses either spaces or tabs in your program. You can use a text editor to highlight your code to make it easier to spot the differences. Otherwise, you can go over the lines in your code and stick to one indentation style. To minimise the likelihood of this error, you can write your code in a text editor or Integrated Development Environment (IDE) like PyCharm, which automatically indent your code in a consistent style.

For further reading on Python code structure, go to the article: How to Solve Python UnboundLocalError: local variable referenced before assignment.

Go to the online courses page on Python to learn more about Python for data science and machine learning.

Have fun and happy researching!

In this tutorial, you’ll learn how to fix a common error you’ll encounter in Python, the indentation error. Indenting your code is an important function for writing useful programs. However, indenting code improperly will raise the following error: “Python indentationerror: unindent does not match any outer indentation level”.

By the end of this tutorial, you’ll have learned:

  • How to fix the Python indentation error
  • How indentation works in Python and why it matters
  • How to use popular IDEs, such as VS Code, to easily resolve the Python indentation error

Let’s get started!

What is the Python Indentation Error?

The Python indentationerror is caused by a number of different factors:

  • Mixing spaces and tabs in indentation
  • Mismatched levels of indentation in code blocks

Both of these scenarios will cause the indentationerror to be raised. Unfortunately, it’s not immediately clear which of these scenarios caused the error to happen. Before we dive into further details, let’s explore how indentation works in Python.

How Indentation Works in Python

Python allows you to indent your code with either spaces or tabs. It doesn’t matter which one you choose – however it requires you to be consistent in that choice. Because Python is a statically typed language, Python will not be able to work properly if spaces and tabs are both used for indentation.

In fact, when copying code from the internet, this is a common error you’ll encounter. Throughout the rest of this tutorial, you’ll learn how to identify and resolve this error.

Should You Indent with Spaces or Tabs in Python?

While it doesn’t matter whether you use tabs or spaces to indent your code, Python does provide some guidance as to which methods are preferred. The PEP-8 standard on indenting your code indicates that using four spaces per indentation level is the preferred method of indenting your code.

The PEP standard goes even further. It says that spaces are preferred and that tabs should only be used to remain consistent with existing code.

Causes of the Python Indentation Error

Let’s explore the causes of the Python indentationerror a little further. Earlier, you learned that the error is caused by mixing spaces and tabs in indenting code as well as having improperly indented code.

Let’s explore both of these in further detail in order to see how the error can be resolved.

Mixing Spaces and Tabs in Python

One of the most common causes of the Python indentationerror is mixing tabs and spaces in your code when indenting. The problem with this is that it’s often not intuitive to find. This problem mostly occurs when you copy and paste code from another source into a Python program.

Thankfully, most modern IDEs will account for this and automatically convert tabs into spaces. For example, Visual Studio Code will, by default, convert tabs into the corresponding number of spaces. Because of this, this error is more common when you’re running Python programs in other applications.

In many cases, you’ll be able to select tabs using find and replace by searching for the t string.

Incorrect Indenting in Python

The other cause of the Python indentationerror is having incorrect indenting in your Python code. This can occur when you’re writing any blocked type pieces of code, such as if-else statements or for loops.

Let’s take a look at an example that would throw a Python indetationerror:

# This code will throw a Python indentation error
for i in range(10):
print(i)

You can fix this easily by indenting the second like of code, as shown below:

# Fixing a Python indentationerror
for i in range(10):
    print(i)

Being mindful of where your code needs to be indented is an important step in writing error-free code. Generally, following a colon, your code will need to be indented.

Conclusion

In this tutorial, you learned how to solve the Python indentationerror. You learned what causes the Python indentationerror and how to solve its two main causes. First, we looked at how the error is thrown when your code mixes both spaces and tabs. Then, we looked at missing or erroneous indentations of your code.

Additional Resources

To learn more about related topics, check out the tutorials below:

  • Python IndexError: List Index Out of Range Error Explained
  • Python For Loop Tutorial – All You Need to Know!
  • Introduction to Python Programming (Beginner’s Guide)
Table of Contents
Hide
  1. What is Indentation in Python?
  2. Tabs or Spaces?
  3. Fix indentationerror: unindent does not match any outer indentation level
    1. A mix of Spaces and Tabs
    2. Mismatch of Indent size inside a code block
    3. Wrong indentation or mismatch of a code block

Indentation in Python is important, and it makes your code well structured and clean. Python uses indentation to define code blocks. You can use either tabs or spaces to indent the code. However, using a combination of space and tab will result in indentationerror: unindent does not match any outer indentation level.

What is Indentation in Python?

In Python, indentation is done using whitespace. In simple terms, indentation refers to adding white space before a statement. According to the PEP 8 rule, the standard way to indent the code is to use 4 spaces per indent level.

Without indentation Python will not know which code to execute next or which statement belongs to which block and will lead to IndentationError.

Tabs or Spaces?

The best practice is to use spaces as the indentation, and the same is the preferred indentation by the PEP 8 rule.

Tabs should be used solely to remain consistent with code that is already indented with tabs.

Mixing tabs and spaces is not allowed, and if you do that, Python will throw indentationerror: unindent does not match any outer indentation level, and the compilation of the code will fail.

Let’s take few examples and find out the possible cause and solution for indentationerros in Python.

A mix of Spaces and Tabs

This would be a common scenario where the developers tend to make mistakes by mixing both spaces and tabs. Follow one approach consistently, either tab or space, to resolve the error but never use a mix of both.

Example 

a=5
b=10

if a<b:
    print("Using 4 space for indentation")
    print("using tab for indentation")

Output

  File "c:ProjectsTryoutslistindexerror.py", line 6
    print("using tab for indentation")
IndentationError: unexpected indent

Suppose you are using code editors like VS Code and Pycharm. In that case, it will automatically resolve the issue by converting from tabs to spaces or spaces to tab, depending on the IDE configuration settings. However, if you are using any other editor like notepad++ or sublime or using the command line for writing code, you may face this issue often, and the solution is to use one consistent approach.

Mismatch of Indent size inside a code block

If you are using any statements, loops, and functions, the code block inside should have the same indentation level. Otherwise, you wil get an IndentationError.

Example 

number=6
for i in range(1,number):
    print (i)
        print(number)

Output

 File "c:ProjectsTryoutslistindexerror.py", line 4
    print(number)
IndentationError: unexpected indent

Solution

number=6
for i in range(1,number):
    print (i)
    print(number)

Wrong indentation or mismatch of a code block

Often in larger projects, the number of lines will be more, leading to a mismatch of code blocks while writing loops, statements, and functions.

A typical use case is an if-else statement where due to a large no of lines the, if block and else block indentation may differ, which leads to indentationerror: unindent does not match any outer indentation level.

Example

a=5
b=6

if a< b:
        print("a is smaller")
    else:
        print("b is smaller")

Output

  File "c:ProjectsTryoutslistindexerror.py", line 6
    else:
         ^
IndentationError: unindent does not match any outer indentation level

Solution

a=5
b=6

if a< b:
        print("a is smaller")
else:
        print("b is smaller")

Output

a is smaller

Avatar Of Srinivas Ramakrishna

Srinivas Ramakrishna is a Solution Architect and has 14+ Years of Experience in the Software Industry. He has published many articles on Medium, Hackernoon, dev.to and solved many problems in StackOverflow. He has core expertise in various technologies such as Microsoft .NET Core, Python, Node.JS, JavaScript, Cloud (Azure), RDBMS (MSSQL), React, Powershell, etc.

Sign Up for Our Newsletters

Subscribe to get notified of the latest articles. We will never spam you. Be a part of our ever-growing community.

By checking this box, you confirm that you have read and are agreeing to our terms of use regarding the storage of the data submitted through this form.

Indenting your code can be a messy business if you try to use both spaces and tabs. In Python, using both methods of indentation results in an error. This error is “indentationerror: unindent does not match any outer indentation level”.

In this guide, we talk about what this error means and when it is raised. We walk through an example of this error in action to help you learn how to fix it.

Get offers and scholarships from top coding schools illustration

Find Your Bootcamp Match

  • Career Karma matches you with top tech bootcamps
  • Access exclusive scholarships and prep courses

Select your interest

First name

Last name

Email

Phone number

By continuing you agree to our Terms of Service and Privacy Policy, and you consent to receive offers and opportunities from Career Karma by telephone, text message, and email.

indentationerror: unindent does not match any outer indentation level

Python code can be indented with tabs or spaces. It’s up to you.

Python only has an objection when you use both spaces and tabs to indent your code. Python requires you use only one method of indentation. This is because the language is statically typed. Statically typed programming languages are sticklers when it comes to syntax. 

Indentation errors are a difficult one to understand because it involves the invisible: mixing spaces and tabs. Depending on the code editor you are using, you may not even be able to see whether spaces or tabs have been used until you delete your indents from your code.

IndentationErrors are common when you copy code snippets from the internet. Every developer has their own preference when it comes to indentation and you’ll often find code snippets do not adhere to your own preferences. Some snippets will indent with spaces.

If a code snippet you copy into your program uses a different type of indentation, you may see an IndentationError in your code. This is because you mix tabs and spaces.

An Example Scenario

Write a program that finds the factors of a number.

Start by defining a function to calculate the factors of a number:

def get_factors(number):
	for i in range(1, number + 1):
		if number % i == 0:
			print("{} is a factor of {}.".format(i, number))

This function uses a for loop to iterate through every number in the range of 1 and the number we have specified plus 1.

In each iteration, our program checks if there is a remainder after dividing “number” by “i”. We do this using the modulo operator. If there is not a remainder, “i” is a factor of “number”.

If a number is a factor of “number”, a message is printed to the console.

We to call our function:

This code calculates all the factors of 32. Run our code and see what happens:

  File "test.py", line 4
	print("{} is a factor of {}.".format(i, number))
                                               	^
IndentationError: unindent does not match any outer indentation level

Our code returns an IndentationError.

The Solution

We have made a mistake with the styling of our code. We know this because IndentationErrors are raised when there is a problem with how your code is indented.

Take a look at how our code is styled. In Sublime Text, we can see the styles of our code by hovering over each line:

ZkT2zfCE1h22 Ldf RwNqSrZL9fUBLG VdcBcqh559l QY6dDanxnhIiihRf52m10qUKnPgFyT2uG6YxVF5MoRzAVitrOwbnF 04EUYhdD3dMZZXkO3aOERWcZYtYsJpOFu1rqun

Each line represents a tab. Each dot represents a space. You can see that we have mixed up both spaces and tabs in our code snippet. Python likes consistency in indents and so the interpreter returns an error when we run our code.

If you use a text editor that does not support this behavior, check whether your code uses spaces or tabs by backspacing your indentation. If your code removes a tab when you press the backspace key, that part of your code is using tabs.

Spaces are the preferred method of indentation in Python but you can use tabs if you want.

Let’s revise our code:

def get_factors(number):
		for i in range(1, number + 1):
				if number % i == 0:
						print("{} is a factor of {}.".format(i, number))

We have replaced all the spaces with tabs. Run our program again:

1 is a factor of 32.
2 is a factor of 32.
4 is a factor of 32.
8 is a factor of 32.
16 is a factor of 32.
32 is a factor of 32.

Our code successfully returns a list of all the factors of 32. This shows us that our code was logically accurate all along. It was our indentation that caused the problem.

Conclusion

The “indentationerror: unindent does not match any outer indentation level” error is raised when you use both spaces and tabs to indent your code.

To solve this error, check to make sure that all your code uses either spaces or tabs in a program. Now you’re ready to resolve this common Python error like a professional software developer!

  • Uniel rs 1 500 ошибка
  • Uniel rs 1 1500 ошибка
  • Unidrive m300 коды ошибок
  • Unicum кофейный автомат сброс ошибки
  • Unicum nero ошибка сенсор бойлера