Python 在while循环中使用嵌套的if语句

Python 在while循环中使用嵌套的if语句,python,Python,在这段代码中,我尝试了如果输入的数字是000,则使用嵌套的if语句退出循环,但它不起作用。获取此错误:IndentationError:应为缩进块 var=1; while var==1: num=int(input("Enter a number:")) if (isinstance(num, int)): print("your input number:",num) if(num==000): break

在这段代码中,我尝试了如果输入的数字是000,则使用嵌套的if语句退出循环,但它不起作用。获取此错误:
IndentationError:应为缩进块

var=1;

while var==1: 
    num=int(input("Enter a number:"))

    if (isinstance(num, int)):
        print("your input number:",num)
        if(num==000):
          break       
 else:
  print('incorrect!!!')

您的
else:
行需要与
if(isinstance(num,int))处于相同的缩进级别:
以便代码知道
else
所指的是什么(例如,现在不确定
else
引用的是什么,因此无法运行代码).

您面临的问题是您没有正确缩进代码。在python中,空白非常重要,尤其是在使用嵌套的if语句/循环时。计算机如何知道您已完成if语句

试一试


注意:print语句被移动,if else现在在第

行,让用户输入一个数字的更好方法是捕获在对非数字字符串调用
int()
时引发的异常:

while True:
    try:
        num = int(input("Enter a number:"))
        print("your input number:", num)

        if num == 0:    # note, 0 and 000 are both 0
            break       
    except ValueError:
        print('incorrect!!!')

这将一直提示,直到输入
0
。建议每个缩进级别使用四个空格。您还可以使用
while True
表示永远循环或直到到达
break
语句。

尝试将“else”分隔开x4注意缩进。另外,
while
for
被允许有一个
else
子句。我尝试了这个,但得到了相同的错误@acrumaIs your
else
应该与第一个
if
匹配,第二个
if
匹配,或者与
while
循环?@superHero 1ºspace“else”x4匹配。下一个空格“print”(打印到else)x4 too=)
while True:
    try:
        num = int(input("Enter a number:"))
        print("your input number:", num)

        if num == 0:    # note, 0 and 000 are both 0
            break       
    except ValueError:
        print('incorrect!!!')