Menu
Coddy logo textTech

בדיקה מקלה

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Swift של Coddy. שיעור 51 מתוך 56.

שוויון מחמיר הוא נוקשה. חידונים אמיתיים מקבלים את paris, את Paris ואת PARIS כתשובות זהות.

המתכון מפרק 1: הסרת רווחים לבנים, המרת שני הצדדים לאותיות קטנות והשוואה:

func grade(_ given: String, _ answer: String) -> Bool {
    let g = given.trimmingCharacters(in: .whitespaces).lowercased()
    let a = answer.trimmingCharacters(in: .whitespaces).lowercased()
    return g == a
}

זה מסוג פונקציות העזר שכדאי להוציא לפונקציה נפרדת. קוד הלולאה של החידון קריא יותר כשיש שורה אחת לכל שאלה, ומחר יהיה אפשר לתקן באג במקום אחד.

challenge icon

אתגר

קל

הגדירו פונקציה grade(_ given: String, _ answer: String) -> Bool שמחזירה true כאשר שתי המחרוזות תואמות לאחר הסרת רווחים ושינוי שתי המחרוזות לאותיות קטנות.

מאגר questions נתון. קראו שלוש שורות מ־stdin. הדפיסו עבור כל שאלה:

  1. את נוסח השאלה
  2. correct או wrong על סמך ההשוואה המקלה

לאחר הריצה, הדפיסו Score: <n>/3.

עבור הקלט 4 / PARIS / Green, הפלט הוא:

2 + 2?
correct
Capital of France?
correct
Color of grass?
correct
Score: 3/3

נסו בעצמכם

let questions: [(String, String, String)] = [
    ("math", "2 + 2?", "4"),
    ("geo", "Capital of France?", "Paris"),
    ("science", "Color of grass?", "green")
]

// TODO: לממש את func grade(_:_:)->Bool עם הסרת רווחים והשוואה באותיות קטנות
// לאחר מכן לעבור בלולאה, להדפיס את השאלה, לקרוא את התשובה ולהדפיס נכון/לא נכון;
// לסיים עם 'Score: <n>/3'
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

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

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