在这段代码中,我尝试过,如果数字输入为000,则使用嵌套的if语句退出循环,但它不起作用。收到此错误:IndentationError: expected an indented block
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!!!')
答案 0 :(得分:2)
您的else:
行需要与if (isinstance(num, int)):
处于同一缩进级别,以便代码知道else
所指的内容(例如,现在它是' s不确定else
的参考内容,因此无法运行代码。
答案 1 :(得分:0)
您遇到的问题是您没有正确缩进代码。在python中,white-space非常重要,尤其是在使用嵌套的if语句/循环时。计算机如何知道你完成了if语句?
尝试
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!!!')
注意移动了print语句,if else现在在行
答案 2 :(得分:0)
让用户输入数字的更好方法是捕获在非数字字符串上调用{% for crs_stud in course.student.all %}
{% for student in students %}
{% if crs_stud == student %}
<p>{{ student.name.upper }} is already enrolled.</p>
{% else %}
<form action="." method="POST">
{% csrf_token %}
<label for="id_{{ student.id }}">{{ student.name }}</label>
<input type="checkbox" id="id_{{ student_id }}"
value="{{ student.id }}"
name="student_ids">
<input type="submit">
</form>
{% endif %}
{% endfor %}
{% endfor %}
时引发的异常:
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
语句。