מה לקנות
חלק מהיחידה יסודות במסלול ה-Ruby של Coddy. שיעור 88 מתוך 88.
אתגר
קלקראו רשימת קניות ומלאי של חנות מהקלט, ואז קבעו אילו פריטים אפשר לקנות.
תקבלו:
- שורה ראשונה: שמות פריטים מופרדים בפסיקים, המייצגים את רשימת הקניות שלכם
- שורה שנייה: מספר הפריטים במלאי החנות
- השורות הבאות: בכל אחת מהן מופיעים שם פריט וכמות, המופרדים בפסיק
לדוגמה, קלט המלאי apples,5 פירושו שיש בחנות 5 תפוחים במלאי.
עבור כל פריט ברשימת הקניות שלכם, הדפיסו את שם הפריט ואחריו - Yes אם אפשר לקנות אותו, או - No אם אי אפשר.
אפשר לקנות פריט אם:
- הוא מופיע במלאי החנות וגם
- הכמות שלו גדולה מ-0
אם פריט אינו מופיע כלל במלאי, או שהכמות שלו היא 0, הדפיסו No.
לדוגמה, אם הקלט הוא:
apples,bread,milk
3
apples,5
bread,0
milk,3הפלט צריך להיות:
apples - Yes
bread - No
milk - Yesאם הקלט הוא:
eggs,butter,cheese,yogurt
2
eggs,12
cheese,0הפלט צריך להיות:
eggs - Yes
butter - No
cheese - No
yogurt - Noאם הקלט הוא:
water
1
water,100הפלט צריך להיות:
water - Yesנסו בעצמכם
# קראו את רשימת הקניות (פריטים מופרדים בפסיקים)
shopping_list = gets.chomp.split(',')
# קראו את מספר הפריטים במלאי
n = gets.to_i
# קראו את מלאי החנות
inventory = {}
n.times do
line = gets.chomp.split(',')
item_name = line[0]
quantity = line[1].to_i
inventory[item_name] = quantity
end
# TODO: כתבו את הקוד שלכם למטה
# עבור כל פריט ברשימת הקניות, בדקו אם אפשר לקנות אותו
# אפשר לקנות פריט אם הוא קיים ב-inventory וגם הכמות שלו > 0
# הדפיסו "item_name - Yes" או "item_name - No" עבור כל פריטכל השיעורים ביחידה יסודות
4אופרטורים חלק 2
אופרטורים לוגיים חלק 1אופרטורים לוגיים חלק 2חזרה – לוגיקה פשוטהאופרטורים לוגיים חלק 3אופרטורים לוגיים חלק 42משתנים וטיפוסי נתונים
מספרים ומשתניםטיפוס הנתונים מחרוזתטיפוס הנתונים בוליאניטיפוס הנתונים Symbolבדיקת טיפוסי נתוניםמוסכמות שמותסיכום – יצירת משתנים8לולאות
לולאת for עם טווחיםלולאת whilebreaknextסיכום – עצרתלולאת timesלולאת untilלולאות מקוננותסיכום – קלט דינמי3אופרטורים חלק 1
אופרטורים אריתמטייםאופרטור מודולוקיצורי דרך אריתמטייםסיכום – חשבון פשוטאופרטורי השוואה6קלט ופלט בסיסיים
פלט באמצעות putsפלט באמצעות print ו־pפלט באמצעות משתניםקלט באמצעות getsשיטת Chompהמרת טיפוסיםחזרה — מחשבון גילחזרה — אמת או שקר9מתודות
הגדרת מתודהפרמטרים של מתודהערכי החזרהסיכום - מתודת Sigmaסיכום - מתודת האימותערכי ברירת מחדל של פרמטרים15מעקב אחר הוצאות יומיות
סקירת הפרויקטיציאה מהתוכניתתרגלו בעצמכם: קומפיילר Ruby אונליין