期待一个缩进的块 - 让我发疯

时间:2016-02-29 09:38:56

标签: python

choice = '' #Initialise choice to blank so will enter loop
print('MAIN MENU')             #---
print('-----------')           #--
print('1) Encrypt a message')  #- Display main menu
print('2) Decrypt a message')  #--
print('3) Exit')               #---
while choice not in ['1','2','3']:
    choice = input('Please choose 1,2 or 3 ')#Get user's choice
    if choice == "1":
        #encrypt() Call encrypt function
    elif choice == '2':
        # decrypt() Call decrypt function
    else:
        sys.exit() #Exit the program

为什么会发生这种情况,无论我尝试什么缩进,我仍然会收到错误! 我看过其他的回复,但似乎没有任何帮助 - 我确信这是微不足道的,但我尝试了大量的配置,但没有工作

2 个答案:

答案 0 :(得分:5)

ifelif之类的块语句之后,您必须至少有一个缩进行。注释不计,所以这里没有缩进行:

if choice == "1":
    #encrypt() Call encrypt function
elif choice == '2':
    # decrypt() Call decrypt function

如果您不想在该区块中执行任何操作,则可以使用pass语句:

if choice == "1":
    pass #encrypt() Call encrypt function
elif choice == '2':
    pass #decrypt() Call decrypt function

答案 1 :(得分:3)

你不能有空if或else块,

while choice not in ['1','2','3']:
    choice = input('Please choose 1,2 or 3 ')#Get user's choice
    if choice == "1":
        pass
    elif choice == '2':
        pass
    else:
        sys.exit() #Exit the program