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

如何用Python3通过循环扩展单词?新手作业求助

问题分析与改进思路

原代码的核心问题是没有根据字符的位置重复对应次数,只是简单把每个字符拼接一次加'-',同时循环内的print会输出中间过程,而非最终结果。

改进方向:

  • 给每个字符匹配它在单词中的位置序号(从1开始),让字符重复对应次数——比如第1个字符重复1次,第2个重复2次,以此类推
  • 先把所有处理后的字符段存到列表里,最后用'-'连接,避免末尾多出一个'-'
  • 用enumerate直接获取字符的位置,替代冗余的index变量

修正后的代码:

inp = input("Give me a word to extend: ")
segments = []
# enumerate的start参数设为1,让序号从1开始
for idx, letter in enumerate(inp, start=1):
    # 字符重复idx次,添加到列表
    segments.append(letter * idx)
# 用'-'连接所有段,得到最终结果
ext_inp = '-'.join(segments)
print(ext_inp)

代码解释:

  1. enumerate(inp, start=1):遍历输入单词时,同时拿到从1开始的位置序号idx和对应字符letter
  2. letter * idx:把字符重复idx次,比如第2个字符'o'就变成'oo'
  3. '-'.join(segments):用'-'把所有处理好的字符段连接成字符串,自动避免末尾多余的'-'
  4. 最后只打印最终结果,而非循环内的中间值

测试输入monkey时,会输出m-oo-nnn-kkkk-eeeee-yyyyyy,完全符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 22:15:34