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

如何编写按宽高深分割字符串并返回指定分段的Python函数?

字符串分段函数完善方案

需求回顾

创建函数接收字符串、整数x、宽度width、高度height、深度depth,返回字符串的第x分段;若x无效返回空字符串。

示例

>>> function('v..xXXv..vVX.XX..v', 0, 3, 3, 2)
'v..xXXv..'
>>> function('v..xXXv..vVX.XX..v', 1, 3, 3, 2)
'vVX.XX..v'

原代码问题

  1. 参数顺序错误:未按需求定义参数,漏掉关键的x参数,且参数顺序混乱
  2. 变量未定义:代码中使用了未赋值的n变量
  3. 未处理无效输入:没有判断x是否合法,也未校验字符串长度是否足够
  4. 未使用depth参数:完全忽略了分段总数的限制

修正后的代码

def function(s, x, width, height, depth):
    segment_length = width * height
    # 校验x的有效性:非负、不超过分段总数、字符串长度足够覆盖目标分段
    if x < 0 or x >= depth or len(s) < (x + 1) * segment_length:
        return ""
    start_idx = x * segment_length
    end_idx = start_idx + segment_length
    return s[start_idx:end_idx]

代码说明

  • 参数修正:严格按照需求调整参数顺序,明确每个参数的作用
  • 分段长度计算:每个分段的长度为width * height,匹配示例中的分段规则
  • 有效性校验:
    • x必须是非负整数
    • x不能大于等于depth(分段索引从0到depth-1)
    • 字符串长度必须能覆盖到第x分段的结束位置,避免索引越界
  • 分段截取:通过计算起始和结束索引,精准截取对应分段字符串

测试验证

运行示例中的两个调用,返回结果与预期完全一致;传入无效x(如x=2、x=-1)或长度不足的字符串时,返回空字符串。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 05:20:30