Menu
CoddyTech

预算规划器

本课属于 Coddy R 学习旅程的“逻辑与流程”单元。第 63 课,共 64 课。

challenge icon

挑战

困难

完成 budget(lines)。第一行是表头 month,type,amount,其余每一行都是一条记录,例如 2024-01,income,3000。当记录的类型为 income 或 expense,且金额是大于 0 的数字时,该记录有效;跳过其他所有记录。

按顺序为有效记录中的每个月返回一行,格式为 2024-01: income 3000.00, spent 1250.50, saved 1749.50,其中 saved 是收入减去支出的结果(没有收入或支出的月份按 0 计算)。然后添加 Best month: ,后面写存款最多的月份(并列时写第一个),再添加 Skipped: ,后面写跳过的记录数。

如果没有有效记录,只返回 No valid entries 和 Skipped 行。

提供的代码会将每一行输入传递给 budget(),并打印返回的每一行。

亲手试试

budget <- function(lines) {
  # 在这里编写你的代码
  character(0)
}

# 提供的输入和输出代码:保持原样
input <- suppressWarnings(readLines(file("stdin")))
cat(budget(input), sep = "\n")

逻辑与流程中的所有课

自己练习: R 在线编译器