[英]Python: Why am I getting an “expected an indented block” on elif (r <= 9):
我似乎无法弄清楚该python代码的格式错误。 我已经确定缩进正确,但是我不知道为什么会发生此错误。 我在这里想念什么?
width = passageWidth(checkChamber, chamberMaxLength)
if (width >= 10):
point = width/2
else:
width = 2
r = random.randint(1, 19) #think aboout adding stairs later!!!
if (r <= 14):
if (r == 5):
door(False, 0) #continue 20, end door
elif (r == 10):
x = random.randint(1, 10)
if (x == 1):
door(False, -1) #continue 20, secret door
else:
#continue 20, dead end
elif (r <= 9): ########### Error occurs here ##############
if (r <= 6):
if (r <= 2):
#continue 30
elif (r == 3):
door(False, 0) #continue 30, door right at 20
elif (r == 4):
door(False, 0) #continue 30, door left at 20
else:
elif (r >= 6):
if (r >= 8):
passage(False, 0) #continue 30, passage left at 20
else:
passage(False, 0) #continue 30, passage right at 20
else:
elif (r <= 12):
#continue 20 plus point, turn left, continue 10 plus point
else:
#continue 20 plus point, turn right, continue 10 plus point
#offset edges along passage by point value to define sides of passage
elif (r <= 19):
#create Chamber
else:
#stairs
#Check if space is available, if not, terminate!
else:
#continue 20, dead end
elif (r <= 9):########### Error occurs here ##############
Python不允许空块。 如果你写
else:
pass # continue 20, dead end
elif (r <= 9):
错误应该消失。 (要消除所有此类错误,您将需要在多个位置进行此操作。)
顺便说一句,Python首选的样式是不要在控制表达式周围写括号,除非您需要它们将条件分成多行。 也就是说,你应该写
elif r <= 9:
另外,在#
两边都应始终留有空格,以引入注释。 真正的Python解析器并不在乎,但是人类会这么做,“快速而肮脏的”解析器也可能会在乎(例如,这就是为什么问题中的代码未正确突出显示语法的原因)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.