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

Python实现类似slice的substring函数时循环结束输出None怎么解决

问题根因

你代码输出多出None的核心原因是:

  • Python中所有没有显式写return语句的函数,默认都会返回None
  • 你的substring函数内部已经通过print输出了ell,外层又额外print了函数的返回值(也就是None),两个输出拼接就得到了ellNone

解决方案

有两种常用修正方式,按需选择即可:

方案1:去掉外层的print,直接调用函数

def substring(start,stop,s): 
    for i in s[start:stop+1]: 
        print(i,end="")

substring(1,3,'Hello')
# 输出:ell

方案2:修改函数逻辑返回结果字符串,外层再打印输出

这种方式更符合函数封装的通用规范,返回的结果可以后续复用,不会直接打印到控制台:

def substring(start,stop,s): 
    return s[start:stop+1]

print(substring(1,3,'Hello'))
# 输出:ell

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 14:48:01