Python“需要缩进块”

2024-04-26 14:09:04 发布

您现在位置: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

Tags: innumberforif编程countrangeoption
3条回答

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

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

另外,在第一行,您编写了option == 1==测试相等性,但您的意思是=(单个等号),它将右边的值赋给左边的名称,即

option = 1

您的for循环没有循环体:

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

实际上,整个if option == 1:块都有缩进问题。elif option == 2:应该与if语句处于同一级别。

在python中…..维护问题,例如:

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

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

print("all the best")

在这种情况下,如果执行两个条件中的任何一个,将打印“所有最好的”,但如果是这样的话

if a==2:
   print("bye")
   print("all the best")

只有当a==2时,才会打印“所有最好的”

相关问题 更多 >