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

如何使用for循环、while循环、repeat循环计算采购金额列的平均值

三种循环计算采购金额平均值实现方案

我们以数据分析常用的R语言为例实现需求,R原生支持for、while、repeat三种循环语句,和需求匹配。

前置数据处理

首先从样例数据中提取采购金额列,生成数值向量供后续计算:
purchase_amount <- c(682.23, 752.25, 6584.98)


三种循环实现代码及适用场景

1. for循环实现

for循环适合已知循环次数的场景,直接遍历序列内的所有元素即可,不需要手动维护计数变量:

# 初始化总和变量
total <- 0
# 遍历所有采购金额累加
for (amt in purchase_amount) {
  total <- total + amt
}
# 计算平均值
for_avg <- total / length(purchase_amount)
print(paste("for循环计算结果:", round(for_avg, 2)))

适用场景:遍历列表、向量、数据框列等固定长度的序列时,写法最简洁不易出错


2. while循环实现

while循环的逻辑是先判断条件、再执行循环体,如果初始条件不满足,循环体一次都不会执行:

# 初始化总和、索引变量
total <- 0
index <- 1
count <- length(purchase_amount)
# 索引小于等于总记录数时持续执行
while (index <= count) {
  total <- total + purchase_amount[index]
  index <- index + 1
}
# 计算平均值
while_avg <- total / count
print(paste("while循环计算结果:", round(while_avg, 2)))

适用场景:循环次数不固定、需要提前判断执行条件的场景,需要手动维护终止条件避免死循环


3. repeat循环实现

repeat循环的逻辑是先执行循环体、再判断终止条件,循环体至少会执行一次,需要配合break语句跳出循环:

# 初始化总和、索引变量
total <- 0
index <- 1
count <- length(purchase_amount)
repeat {
  total <- total + purchase_amount[index]
  index <- index + 1
  # 索引超过总记录数时跳出循环
  if (index > count) {
    break
  }
}
# 计算平均值
repeat_avg <- total / count
print(paste("repeat循环计算结果:", round(repeat_avg, 2)))

适用场景:需要至少执行一次循环体的业务场景,必须显式设置break条件否则会进入死循环


结果验证

本次样例数据的采购金额总和为8019.46,平均值约为2673.15,三种循环的计算结果完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 07:45:03