【问题标题】:why i am getting this error message in python ? IndentationError: expected an indented block [duplicate]为什么我在 python 中收到此错误消息? IndentationError:预期缩进块[重复]
【发布时间】:2018-04-28 10:05:23
【问题描述】:

我是 python 新手,我正在尝试为我的代码制作一个简单的 cicle:

for i in range(0,5) :
    if i==0 :
    b=b.append(1)

else: 
result=(b[i-1]+1) 
b.append(result)
return(result)

文件“”,第 5 行 b=b.追加(1) ^ IndentationError: 需要一个缩进块

如何用我的结果填充向量或矩阵?

【问题讨论】:

  • 你需要展示一些格式正确的代码来获得帮助。编辑您的问题,突出显示代码块,然后单击工具栏中的{} 按钮对其进行格式化。
  • ifelse下方的行向右移动4个空格(或1个制表符)
  • 您可能想从a tutorial 开始了解基本原理。
  • @BenyaminJafari 编辑时 1) 不要只应用您自己喜欢的代码样式和 2) 不要对会使问题和答案无效的代码应用更改。该问题的具体问题是由于您在编辑时“修复”的缩进不正确。
  • @MarkRotteveel:它得到了两位审稿人的批准......

标签: python


【解决方案1】:

因为您没有正确缩进代码。它应该看起来像这样:

for i in range(0,5):
    if i==0 :
        b=b.append(1)
    else: 
        result=(b[i-1]+1) 
        b.append(result)
return(result)

for 循环的主体是缩进的,if 和 else 语句的主体也是如此,相对于它们受尊重的语句。

【讨论】:

  • 谢谢,我尝试按照您的建议编写代码,但现在我收到另一个错误:b=b.append(1) AttributeError: 'NoneType' object has no attribute 'append',跨度>
【解决方案2】:

您收到错误是因为 python 使用空格来确定块的开始和结束时间。您必须使用缩进来打开\关闭所有逻辑块。

if thing > thing2
    inside_if_stuff = 1

the_if_has_now_ended_and_Im_doing_other_stuff 

在 python 中没有像 {} 这样的字符来打开和关闭逻辑

【讨论】:

  • 出于好奇,您为什么使用反斜杠?
  • 当我说打开\关闭?
  • 是的。在这种情况下,我通常会看到一个正斜杠。
  • TBH 我从来没有真正注意到它,哈哈,因为我的手很大,而且我更容易敲击回车键
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-07-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-15
  • 2018-04-20
相关资源
最近更新 更多