You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何我的Python代码出现缩进错误?求修复方法(Replit环境)

解决Python缩进错误及代码补全建议

你的代码有两个关键问题导致缩进报错,还有未完成的语法问题,具体修正如下:

1. 顶级代码缩进错误

第一行from scipy.integrate import odeint前面有多余空格,Python中模块导入、常量定义这类顶级代码必须顶格书写,不能带缩进。

2. 函数内代码缩进不匹配+未完成语句

函数f内部的d3行缩进比前面的d0、d1、d2少,Python要求同一代码块内的缩进必须完全一致(通常用4个空格),否则会触发缩进错误。另外d3只有变量名没有赋值逻辑,属于未完成的语法,结合你写的SEIR-D模型,需要补全d3(R的导数)和d4(D的导数)的计算。

修正后的完整代码

from scipy.integrate import odeint
import numpy as np
import matplotlib.pyplot as plt

# DEFINE CONSTANTS
β = 1
δ = 1/5
N = 100000
γ = 1/10
α = 5/100
ρ = 1/15

# FUNCTION TO RETURN DERIVATIVES AT T
def f(y,t):
    S, E, I, R, D = y # get previous values of S, E, I, R, D and store them in array y
    d0 = -β*(S/N)*I # derivative of S(t)
    d1 = β*(S/N)*I - δ*E # derivative of E(t)
    d2 = δ*E - (1-α)*γ*I - α*ρ*I # derivative of I(t)
    d3 = (1-α)*γ*I # derivative of R(t)
    d4 = α*ρ*I # derivative of D(t)
    return [d0, d1, d2, d3, d4]

另外,如果你在Replit里看起来缩进正常但还是报错,大概率是混合了空格和制表符(Tab)——Python对这两者的识别是严格区分的。你可以在Replit的设置里把缩进统一设置为4个空格,避免混用。

内容的提问来源于stack exchange,提问作者Patil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 00:12:33