Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

طرح الأسئلة

جزء من قسم المنطق والتدفق في رحلة Swift على Coddy — الدرس 50 من 56.

الميزة الأولى: طرح كل سؤال بالترتيب وطباعة ما إذا كانت كل إجابة صحيحة.

بنك الأسئلة مكتوب برمجياً بشكل ثابت لهذا الدرس، وتأتي إجابات اللاعب من stdin (واحدة في كل سطر، بالترتيب).

let questions: [(String, String, String)] = [
    ("math", "2 + 2?", "4"),
    ("geo", "Capital of France?", "Paris")
]
for (_, text, answer) in questions {
    print(text)
    let given = readLine()!
    print(given == answer ? "correct" : "wrong")
}

اقرأ من الأعلى إلى الأسفل: اطبع السؤال، اقرأ سطراً واحداً، ثم قارن. الدرس التالي يخفف من حدة تلك المقارنة الصارمة حتى لا تفشل بسبب حالة الأحرف أو المسافات البيضاء الزائدة.

challenge icon

التحدي

سهل

بنك الأسئلة questions معطى. اقرأ ثلاثة أسطر من stdin (إجابات اللاعب، بالترتيب). لكل سؤال، اطبع:

  1. نص السؤال في سطر منفصل
  2. correct عندما تكون الإجابة المعطاة مساوية تماماً للإجابة المخزنة، وإلا wrong

بعد الأسئلة الثلاثة، اطبع Score: <n>/3 مع عدد الإجابات الصحيحة.

للمدخلات 4 / Paris / red، المخرجات هي:

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

ورقة مرجعية

قم بالتكرار عبر مصفوفة من الصفوف (tuples) تحتوي على أسئلة، واقرأ الإجابات من الإدخال القياسي (stdin)، ثم قارنها:

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

var score = 0
for (_, text, answer) in questions {
    print(text)
    let given = readLine()!
    if given == answer {
        print("correct")
        score += 1
    } else {
        print("wrong")
    }
}
print("Score: \(score)/\(questions.count)")

جرّب بنفسك

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

// مهام مطلوبة: لكل سؤال، اطبع النص، اقرأ الإجابة، اطبع صحيح/خطأ؛
// ثم اطبع 'النتيجة: <n>/3'
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس المنطق والتدفق