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

如何在R语言中不使用rep函数,用for循环实现指定重复字符输出?

问题描述

我需要实现以下代码的功能,但不能使用rep()函数:

for (i in 1:4){
  print(paste(rep(LETTERS[i], i), collapse = ""))
}

期望输出:

  • [1] "A"
  • [1] "BB"
  • [1] "CCC"
  • [1] "DDDD"

我尝试了嵌套循环,但输出不符合预期:

for (i in 1:4) {
  for (j in 1:i) {
    print(paste(LETTERS[i]))
  }
  cat('\n')
}

实际输出:

  • [1] "A"
  • [1] "B"
  • [1] "B"
  • [1] "C"
  • [1] "C"
  • [1] "C"
  • [1] "D"
  • [1] "D"
  • [1] "D"
  • [1] "D"
解决方案

问题出在内部循环每次都调用print(),导致单个字母被多次单独输出。正确的做法是先把重复的字母拼接成完整字符串,再一次性打印。

修正后的嵌套循环代码

for (i in 1:4) {
  # 初始化空字符串存储当前行结果
  output_str <- ""
  for (j in 1:i) {
    # 逐次将当前字母追加到字符串末尾
    output_str <- paste0(output_str, LETTERS[i])
  }
  # 拼接完成后统一打印整行字符串
  print(output_str)
}

运行后将得到期望的输出:

  • [1] "A"
  • [1] "BB"
  • [1] "CCC"
  • [1] "DDDD"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 00:13:18