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

为何这段Python字符串反转代码输出为'olleh'而非'hello'?

代码输出'olleh'而非'hello'的原因解释

先看这段代码:

startmsg = "hello"
endmsg = ""
for i in range(0,len(startmsg)):
    endmsg=startmsg[i] + endmsg
print(endmsg)

这段代码的核心问题是字符串拼接顺序搞反了,最终输出的是原字符串的反转结果:

  1. 初始状态:startmsg为"hello",endmsg是空字符串
  2. 循环会遍历startmsg的每个字符,索引从0到4(对应字符'h'、'e'、'l'、'l'、'o')
  3. 关键的拼接逻辑:每次循环都是把当前取到的字符放到现有endmsg的前面,而非末尾:
    • 第1次循环:endmsg = 'h' + '' → 结果为'h'
    • 第2次循环:endmsg = 'e' + 'h' → 结果为'eh'
    • 第3次循环:endmsg = 'l' + 'eh' → 结果为'leh'
    • 第4次循环:endmsg = 'l' + 'leh' → 结果为'lleh'
    • 第5次循环:endmsg = 'o' + 'lleh' → 结果为'olleh'

如果想得到预期的'hello',只需把拼接顺序改成endmsg = endmsg + startmsg[i],这样每次都把新字符追加到endmsg的末尾,实现正向累加。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 00:39:57