Python“期望一个缩进块”

新手上路,请多包涵

我有这个代码:

 option == 1
while option != 0:
    print("MENU")
    option = input()
    print("please make a selection")
    print("1. count")
    print("0. quit")
    if option == 1:
        while option != 0:
            print("1. count up")
            print("2. count down")
            print("0. go back")
            if option == 1:
                print "please enter a number"
                for x in range(1, x, 1):
                    print(x)
                elif option == 2:
                    print "please enter a number"
                    for x in range(x, 1, 1):
                elif option == 0:
                    break
                else:
                    print("invalid command")
    elif option == 0:
        break

我收到一条错误 expected an indented block 。我试图仔细检查缩进,确保我所有的缩进都使用 4 个空格等,但我找不到问题。

代码有什么问题,我该如何解决?

原文由 Zach 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
1 个回答

elif option == 2: 开始,你缩进了太多。在一个像样的文本编辑器中,您应该能够突出显示这些行并按 Shift + Tab 来解决问题。

此外,在 for x in range(x, 1, 1): 之后没有声明。插入一个缩进的 passfor 循环中什么也不做。

另外,在第一行中,您写了 option == 1== 测试是否相等,但你的意思是 = (一个等号), 它将正确的值分配 给左名称,即

option = 1

原文由 phihag 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题