Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

college intro project has indentation error i cant seem to fix

So our final project for this class is to make a console text based puzzle game, and for some reason while trying to put ifs and elifs in a while loop, it would automatically indent the elif under the if. i tried deleting the indent, and when i went to test it, i got an indentation error: expected an indented block. so i tried adding the indent back, which just seems strange since this is the first time this has happened. I then got a plain syntax error.

tried removing indent: received indent error
tried including indent : received syntax error
im really lost at this point. if it helps at all we were told to use replit for turning in our code. i am also using the time, sys, os, and termcolor modules. bolded is the line that has the error.

`def airlock(inventory):
  clear()
  userin = None
  inventory["note"] = "your astronaut ID is: 2579"
  while userin != "quit":
    time.sleep(1.5)
    print("description of airlock, keypad on wall next to door")
    print("what u wanna do? 1 look around 2 check pockets 3 go to keypad")
    userin = input()
    
    if userin == "1":
      #describe the keypad. there is nothing else in the room
      
     **elif userin == "2":
       invinspect(inventory)**

def invinspect(inventory):
  userin = None 
  print(inventory.keys())
  print("what would you like to do? 1. look closer 2 go back")
  userin = input()
  if userin == 1:
    print(str(inventory))
  else:
    
  
def main():
  inventory = {}
  airlock(inventory)
main()`

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

>Solution :

as mentioned in the comment, if you introduce a conditional statement in python, you must have some kind of statement after it. This can be a "dummy" statement like pass, but it cannot be a comment (they don’t count).

Examples

x = 5

if x > 4:   # GOOD
    print('bigger than 4')

if x > 4:   # GOOD
    pass

if x > 4:   # ERROR
    # a comment

EDIT:

Try this. You had 2 locations where you had a conditional without a following line. Be sure to QA the line numbers when you get errors. Note that I commented out clear() because it is not defined

import time

def airlock(inventory):
  #clear()
  userin = None
  inventory["note"] = "your astronaut ID is: 2579"
  while userin != "quit":
    time.sleep(1.5)
    print("description of airlock, keypad on wall next to door")
    print("what u wanna do? 1 look around 2 check pockets 3 go to keypad")
    userin = input()
    
    if userin == "1":
      pass
      #describe the keypad. there is nothing else in the room
      
    elif userin == "2":
      invinspect(inventory)

def invinspect(inventory):
  userin = None 
  print(inventory.keys())
  print("what would you like to do? 1. look closer 2 go back")
  userin = input()
  if userin == 1:
    print(str(inventory))
  else:
    pass
    
  
def main():
  inventory = {}
  airlock(inventory)
main()
Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading