2

I am making a simple questionnaire and when I run it, it says:

  File "questionare.py", line 55
    score -= 1
             ^
IndentationError: unindent does not match any outer indentation level

Yet, if I try to fix it, it will forget about the if statement and deduct the score even if the person gets the answer right. Is it a problem with Sublime Text, or is it a problem that I caused? It doesn't say that for the code above it.

Here's the code:

print()
wemsg = print ("Welcome to the most holy questionnaire to exist!")
pointinst = print ("You will get 1 point for each correct question, you will get deducted 1 point with each wrong question!")

# used this video to configure python interpreter: https://www.youtube.com/watch?v=rIl0mmYSPIc

p1 = ("Question 1:")
p2 = ("Question 2:")
p3 = ("Question 3:")
p4 = ("Question 4:")
score = 0 # score worked: https://stackoverflow.com/questions/27337331/how-do-i-make-a-score-counter-in-python
print()

q1 = print(p1)
q1q = input("What is 1+1?: ")
print()

if q1q == ('2'):
    print ("Correct!")
    score += 1
    print ("Total score:", score)
if q1q != ('2'):
    print ("Incorrect!")
    score -= 1
    print ("Total score:", score)
    print ("The correct answer is", 1 + 1)
print()

q2 = print(p2)
q2q = input("What is 12 divided by 2 times 5?: ")
print()


if q2q == ('30'):
    print ("Correct!")
    score += 1
    print ("Total score:", score)
if q2q != ('30'):
    print ("Incorrect!")
    score -= 1
    print ("Total score:", score)
    print ("The correct answer is", int(12 / 2 * 5))
print()

q3 = print(p3)
q3q = input("What is 2 to the power of 3?: ")
print()

if q3q == ('8'):
    print ("Correct!")
score += 1
print ("Total score:", score)
if q3q != ('8'):
    print ("Incorrect!")
    score -= 1
    print ("Total score:", score)
    print ("The correct answer is", int(2 ** 3))
print()

q4 = print(p4)
q4q = input("What is (12 x 55) to the power of 6? (Calculator needed): ")
print()

if q4q == ('8.265395e+16'):
    print ("Correct, jesus that's a long number.")
score += 1
print ("Total score:", score)
if q4q != ('8.265395e+16'):
    print ("Bruh, you are using a Calculator how did you get this wrong.")
    score -= 1
    print ("Total score:", score)
    print ("The correct answer is", int(12 * 55 ** 6))
print()

finish = print ("You have finished the questionnaire with a total score of:", score, "!")
the Tin Man
  • 158,662
  • 42
  • 215
  • 303
  • When asking, reduce the code to the bare minimum that demonstrates the problem. Please see "[ask]", "[Stack Overflow question checklist](https://meta.stackoverflow.com/questions/260648)" and "[MCVE](https://stackoverflow.com/help/minimal-reproducible-example)" and all their linked pages. – the Tin Man Dec 07 '19 at 18:13
  • The code has two lines, 54 and 69, that have single-tab indentation. – the Tin Man Dec 07 '19 at 18:19

1 Answers1

3

Your code runs for me and the indentation looks correct.

All lines of code within an indented block such as an if statement need to have exactly the same indentation. Most likely the error is due to a mix of tabs and spaces on line 55.

You could try deleting the line and typing it again and configuring sublime text to display the whitespace.

KyleL
  • 855
  • 6
  • 24
  • 1
    Lines 54 and 69 have tabs. Rather than delete the line, confirm that the editor is configured to use spaces instead of tabs, then simply unindent the line then reindent it. Or tell Sublime to replace tabs with spaces in one pass and it'll fix all lines at once. – the Tin Man Dec 07 '19 at 18:22