Python 在while循环中使用嵌套的if语句
在这段代码中,我尝试了如果输入的数字是000,则使用嵌套的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
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 yourelse
应该与第一个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!!!')