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

Codingame解题疑问:插入的\n被直接打印而非实现换行

问题解决:输入中的\n未解析为换行符

你的代码存在两个关键问题导致\n无法正常生效:

  • 未正确初始化原始字符串变量s,漏掉了第一行输入的处理
  • 输入中的\n是字面量字符串,input()不会自动将其转换为换行符,需要手动转义处理

修正后的代码

# 读取初始字符串
s = input()
change_count = int(input())

for i in range(change_count):
    raw_change = input()
    extract_info = raw_change.split('|')
    index = int(extract_info[1])
    # 解析转义字符,把字面量\n转换成实际换行符
    stringToInsert = extract_info[2].encode().decode('unicode-escape')
    # 直接操作字符串即可,无需额外转列表再join
    s = s[:index] + stringToInsert + s[index:]
    # 可选:打印每一步修改结果
    print(s)

print(s)

关键说明

  1. 初始化s:第一行输入是原始字符串Hello world,必须先读取赋值给s,否则代码会报变量未定义错误
  2. 转义处理:使用encode().decode('unicode-escape')可以将输入中的字面量转义字符(比如\n、\t等)解析为对应的特殊字符,这样插入的\n就会变成实际的换行符

测试效果

用你提供的输入测试,修正后的代码会输出正确的换行效果,而不是直接打印\n字符。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 13:20:27