Причина, по которой вы получаете ошибку "IndentationError: unident does not match any other indentation level"
, заключается в том, что вы объединяете воедино вкладки для создания вложенного логического оператора (в псевдокоде):
if <condition>:
#then do something
else if <condition>:
#then do something else
else if <condition>
#then do something further else
Это не то, как Python любит видеть синтаксис в логическом блоке. Кроме того, следующая ошибка, с которой вы столкнетесь, будет заключаться в использовании вложенных операторов if внутри предложений else.
Чтобы выполнить оператор else if
в Python, вам нужно использовать синтаксис elif:
, за которым следует строка с отступом и кодом, который вы хотите выполнить, если выполняется это условие (в псевдокоде):
if <condition>:
#then do something
elif <condition>:
#then do something else
elif <condition>:
#then do something further else
Еще один вызов, который рекомендуется сделать, заключается в том, что вы должны включить явное предложение else
в условный блок с кучей операторов elif
, если не собираетесь выполнять дополнительную проверку строки, которую вы Получаешь от пользователя. Представьте, что пользователь прошел в XYZ
. Они не будут соответствовать ни одному из условий, которые вы определили, и из-за этого код будет просто продолжаться в нижней части этого логического блока (что может или не может быть хорошей вещью). В следующем коде я добавил пример того, как может выглядеть явное предложение else
, но в конечном итоге вам решать, что может иметь смысл для вашего приложения:
file=open('csquetionseasy.txt','r')
print(file.read(432))
answersinputeasy=input('enter the letter responding to the correct answer for all 3 questions e.g. BBB')
if answersinputeasy==('BAA'):
# Code to be executed following an if-statement must be indented by 4 spaces:
print('you got 3/3!')
elif answersinputeasy==('BAB'):
# Code to be executed following an elif-statment (else-if) must be indented by 4 spaces:
print('2/3!')
elif answersinputeasy==('BBB'):
print('1/3!')
elif answersinputeasy==('ABB'):
print('0/3!')
elif answersinputeasy==('AAB'):
print('1/3!')
elif answersinputeasy==('AAA'):
print('2/3!')
elif answersinputeasy==('ABA'):
print('1/3!')
# Else clause would provide a default condition that executes if none of the prior cases are met.
else:
# Code following an else statment must be indented by 4 spaces:
#Example of a default Else-block entry:
print('Wasn\'t able to parase your entry into a valid answer!')