Menu
Coddy logo textTech

סיכום – צינור נתונים

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-R של Coddy. שיעור 36 מתוך 64.

challenge icon

אתגר

קשה

השלימו את sales_report(records). כל רשומה היא item:quantity:price. בנו את הדוח בשלושה שלבים:

  1. נתחו את הרשומות לרשימה באמצעות lapply().
  2. השאירו את הרשומות שהכמות בהן גדולה מ־0 באמצעות Filter().
  3. חשבו את הסכום של כל שורה שנותרה (כמות כפול מחיר) באמצעות sapply(), ואת הסכום הכולל באמצעות Reduce().

החזירו שורה אחת לכל רשומה שנותרה, tea: 8.00, ואז Total: עם הסכום הכולל ו־Skipped: עם מספר הרשומות שהכמות בהן הייתה 0. הציגו את הסכומים בשתי ספרות אחרי הנקודה העשרונית.

הקוד שסופק קורא את הרשומות כשורה המופרדת בפסיקים ומדפיס כל שורה שהוחזרה.

נסו בעצמכם

sales_report <- function(records) {
  # כתבו כאן את הקוד שלכם
  character(0)
}

# קוד קלט/פלט שסופק: השאירו אותו כפי שהוא
input <- suppressWarnings(readLines(file("stdin")))
cat(sales_report(strsplit(input[1], ",")[[1]]), sep = "\n")

כל השיעורים ביחידה לוגיקה וזרימת תוכנית

תרגלו בעצמכם: קומפיילר R אונליין