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

Python分割奇数长度字符串时如何让后半部分不含中间字符

问题原因
  • Python的序列(包括字符串)切片采用左闭右开的取值规则:[起始索引:结束索引]的取值范围包含起始索引位置的元素,不包含结束索引位置的元素,缺省结束索引时会一直取到序列末尾。
  • 你代码中middle是中间字符对应的正向下标,str[middle : ]会从中间字符的位置开始截取到末尾,所以后半段自然包含了中间字符。
修复方案

仅需要将后半段的切片起始位置调整为middle + 1即可,修改后完整代码如下:

str = input("Enter an odd length string: ")
length = len(str)
middle = length // 2
half1 = str[ : middle]
half2 = str[middle + 1 : ]
print("Middle character:",str[middle])
print("First half:",half1)
print("Second half:",half2)
效果验证

用你示例的输入Fortune favors the bold测试,修改后输出的后半段为rs the bold,符合不包含中间字符的预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 03:30:00