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

打印数组元素用->分隔时出现前置多余分隔符的问题

解决循环打印数组元素时的分隔符问题

问题分析

你当前的问题出在通过固定截取字符串长度(s[4:])来消除前置分隔符的方式不够健壮——这种方法依赖分隔符和第一个元素的字符长度,当元素是负数时,很容易因为截取逻辑不匹配导致结果异常。

正确解决方案

直接使用Python的字符串join()方法,这是处理元素间分隔符的标准做法,能自动避免前置/后置分隔符问题,同时兼容正数、负数等所有数值类型:

# 处理输入:将输入字符串转为整数数组
hourly_temperature = list(map(int, input().split()))
# 将数组元素转为字符串,用指定分隔符连接
result = ' -> '.join(map(str, hourly_temperature))
# 按照要求添加末尾空格后打印(print默认自动换行)
print(f"{result} ")

为什么这个方法有效?

  • join()方法会遍历字符串列表,仅在元素之间插入分隔符,不会在开头或结尾添加多余分隔符。
  • 不管元素是正数(如90)还是负数(如-32),map(str, ...)都会正确转为对应的字符串,完全不影响连接结果。

测试验证

  • 输入90 92 94 95,输出:90 -> 92 -> 94 -> 95 (末尾带空格,自动换行)
  • 输入-32 -35 -42,输出:-32 -> -35 -> -42 (符合要求)

若坚持用循环拼接实现

如果一定要用循环逻辑,可通过判断是否为第一个元素来避免添加前置分隔符:

hourly_temperature = list(map(int, input().split()))
s = ""
for idx, temp in enumerate(hourly_temperature):
    if idx == 0:
        # 第一个元素直接添加
        s += str(temp)
    else:
        # 非第一个元素先加分隔符再加元素
        s += f" -> {temp}"
# 添加末尾空格后打印
print(f"{s} ")

这种方式同样能避免前置分隔符问题,且不依赖固定长度的字符串截取,兼容性更强。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 10:25:12