Python Forum
Python Shell 3.9.0 - Issue with indentation
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Python Shell 3.9.0 - Issue with indentation
#1
Bug 
https://www.ppaste.org/ZlGieSKbc

The above code works fine on any other interpreter(12,16,done) but when I use the python shell 3.9.0 I get SyntaxError: unindent does not match any outer indentation level.
Tried different approaches but nothing worked.
Using any other interpreter is fine but I want to know why it doesn't work on Python Shell 3.9.0 and how to fix it.
Any ideas ?
Reply
#2
Please, post your code here - copy/paste as text in python tags. What you show on the picture has problems with the indentation as well as the 2 print functions on the last line. This code cannot run on any python.

If this cross-posted as implied by the image, you should add link to the other medium too.
If you can't explain it to a six year old, you don't understand it yourself, Albert Einstein
How to Ask Questions The Smart Way: link and another link
Create MCV example
Debug small programs

Reply
#3
Look at this image.
The only way you can get unindent does not match any outer indentation level with that code if fix last line.
Are if run code in IDLE Python shell >>>,and not as New File as image.
Correct code,always 4-space indentation in Python.
for i in [12, 16, 17, 24, 29]:
    if i % 2 == 1:
        break

print(i)
print("done")
Output:
17 done
Reply
#4
The code in that paste doesn't generate an indentation error, but a syntax error from having the two prints on the same line.

I don't see anything here that should be different between any version of python 3, either 3.9 or earlier.
Reply
#5
https://www.ppaste.org/lPOwHRon3

My apologies for any confusion. The correct code is the above and it does not run in Python Shell.
Reply
#6
Stop posting links. Paste your code directly into your post and surround it with python tags. Like this:
for i in [12, 16, 17, 24, 29]:
    if i % 2 == 1: 
       break
    print(i)
print("done")
You should not be typing programs in the shell. Type programs in a file and run the file. If you have to type code in the shell you need to add empty lines at the end of a compound statement so Python knows when it reached the end of a statement
for i in [12, 16, 17, 24, 29]:
    if i % 2 == 1: 
       break
    print(i)

print("done")
Also note that you cannot cut and paste multiple statements in the shell. The shell is for one statement at a time. This is one statement:
for i in [12, 16, 17, 24, 29]:
    if i % 2 == 1: 
       break
    print(i)
And this is another.
print("done")
You need to press the enter key to execute the first statement before you start entering the second.
Reply
#7
Not it doesn't.

for i in [12, 16, 17, 24, 29]:
    if i % 2 == 1: 
       break
    print(i)
print("done") # For this Line I get in Python Shell 3.9.0 SyntaxError: unindent does not match any outer indentation level
Reply
#8
The indentation of line 3 is just 3 spaces. It should be 4.
If you can't explain it to a six year old, you don't understand it yourself, Albert Einstein
How to Ask Questions The Smart Way: link and another link
Create MCV example
Debug small programs

Reply
#9
Maybe you have some unprintable characters in your file. What OS are you on? If you're on linux, show the output of od -c <filename>.
Reply
#10
I am using Windows 10.

Tried in the pas all the above mentioned methods.

Works giving the result 12,16.
for i in [12, 16, 17, 24, 29]:
    if i % 2 == 1: 
       break
    print(i)
Doesn't work giving SyntaxError: unindent does not match any outer indentation level
for i in [12, 16, 17, 24, 29]:
    if i % 2 == 1: 
       break
    print(i)
 
print("done") 
Also SyntaxError: unindent does not match any outer indentation level

for i in [12, 16, 17, 24, 29]:
    if i % 2 == 1: 
       break
    print(i)
 print("done")
In conclusion am I to assume that the above code will never work on python Shell 3.9.0 ?
If yes why ?
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Help creating shell scrip for python file marciokoko 10 1,254 Sep-16-2023, 09:46 PM
Last Post: snippsat
  Launch Python IDLE Shell from terminal Pavel_47 5 1,143 Feb-17-2023, 02:53 PM
Last Post: Pavel_47
  batch file for running python scipt in Windows shell MaartenRo 2 1,823 Jan-21-2022, 02:36 PM
Last Post: MaartenRo
  How to make a Python program run in a dos shell (cmd) Pedroski55 2 2,255 Nov-09-2020, 10:17 AM
Last Post: DeaD_EyE
  Python "Terminal" vs "Shell" SectionProperties 2 2,617 Apr-10-2020, 08:36 AM
Last Post: SectionProperties
  looping and indentation issue ameydiwanji 3 2,396 Jul-01-2019, 10:53 AM
Last Post: perfringo
  python shell teelado 1 13,644 Jun-13-2019, 01:49 AM
Last Post: Larz60+
  Is it possible to have my python shell change the backgrounds colour? OTO1012 2 3,708 Mar-07-2019, 09:32 PM
Last Post: woooee
  Indentation error in Python code ErnestTBass 5 3,503 Feb-28-2019, 04:26 PM
Last Post: samsonite
  running python script from shell invoked with os.system("x-terminal-emulator -e /bin/ markhaus 2 3,017 Feb-21-2019, 11:55 PM
Last Post: markhaus

Forum Jump:

User Panel Messages

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