Python"期望一个缩进的块"

Zac*_*ach 28 python

首先让我说我完全是编程的新手.我刚刚收到了Python并且它一直在我的脑海中引发一个反复出现的错误 - "预计会有一个缩进的块"现在,我知道还有其他一些线程解决了这个问题,我已经查看了很多这些问题然而,即使检查我的缩进也没有给我更好的结果.我用4个空格替换了所有的缩进,甚至重写了几次代码.我将以此为例发布此计数器作业.

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
Run Code Online (Sandbox Code Playgroud)

phi*_*hag 17

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

此外,之后没有声明for x in range(x, 1, 1):.插入缩进pass以在for循环中不执行任何操作.

另外,在第一行,你写了option == 1.==测试是否相等,但你的意思是=(一个等号),它左名指定正确的值,即

option = 1
Run Code Online (Sandbox Code Playgroud)

  • vim是一个不错的编辑器,但击键是`[Ctrl] - [<]`(在可视模式下,在正常模式下预先添加动作) (2认同)

小智 7

在python .....意图中很重要,例如:

if a==1:
    print("hey")

if a==2:
   print("bye")

print("all the best")
Run Code Online (Sandbox Code Playgroud)

在这种情况下,如果同时执行两个条件中的任何一个,则将打印“一切顺利”,但前提是这样

if a==2:
   print("bye")
   print("all the best")
Run Code Online (Sandbox Code Playgroud)

那么只有当a == 2时,才会打印“一切顺利”


Fel*_*ing 6

您的for循环没有循环体:

elif option == 2:
    print "please enter a number"
    for x in range(x, 1, 1):
elif option == 0:
Run Code Online (Sandbox Code Playgroud)

实际上,整个if option == 1:块都存在缩进问题。elif option == 2:应该与声明处于同一水平if