كيفية عمل لعبة اختبار في بايثون (بالصور)

جدول المحتويات:

كيفية عمل لعبة اختبار في بايثون (بالصور)
كيفية عمل لعبة اختبار في بايثون (بالصور)

فيديو: كيفية عمل لعبة اختبار في بايثون (بالصور)

فيديو: كيفية عمل لعبة اختبار في بايثون (بالصور)
فيديو: برنامج مؤقت للوقت تنازليًا في بايثون ⌛ 2024, يمكن
Anonim

إذا كنت تريد تعلم Python ، فمن الجيد أن تبدأ ببعض الألعاب البسيطة القائمة على النصوص. ستوضح لك هذه المقالة كيفية عمل لعبة اختبار.

خطوات

947361 1
947361 1

الخطوة 1. قم بتثبيت Python إذا لم تكن قد قمت بذلك بالفعل

هناك إصداران رئيسيان من Python: Python 2 و Python 3. وهما ليسا قابلين للتبادل وسينتهي دعم Python 2 في عام 2020 ، لذلك ستفترض هذه المقالة أنك قمت بتثبيت Python 3.

947361 2
947361 2

الخطوة 2. افتح ملفًا جديدًا في محرر نصوص أو Python IDE الخاص بك

أعطه اسمًا وصفيًا ينتهي بـ.py.

947361 3
947361 3

الخطوة 3. استيراد مكتبة عشوائية

سوف تحتاجه لترتيب الإجابات الممكنة بشكل عشوائي.

947361 4
947361 4

الخطوة 4. تحديد فئة "QA"

تتكون "QA" من سؤال وإجابة صحيحة ، وقائمة بالإجابات المحتملة الأخرى. سيتم استدعاء الدالة _init _ () كلما قمت بإنشاء كائن جديد لضمان الجودة باستخدام الوظيفة QA () ، مع تمرير وسيطاته إلى السمة المقابلة. نوع:

class QA: def _init _ (self، question، correctAnswer، otherAnswers): self.question = question self.corrAnsw = rightAnswer self.otherAnsw = otherAnswers

947361 5
947361 5

الخطوة 5. قم بإنشاء قائمة QAs

فكر في بعض الأسئلة بإجابات واحدة صحيحة وبعض الإجابات الخاطئة. قم بإنشاء كائنات ضمان الجودة من كل منها ووضعها في قائمة. نظرًا لأن القائمة ستكون طويلة جدًا ، يمكنك تقسيمها عبر أسطر متعددة لتسهيل القراءة. كل هذا يتم من خلال الكود التالي (قد يكون النص مختلفًا):

qaList = [QA ("أين مينسك؟" ، "في بيلاروسيا" ، ["في روسيا" ، "مثل هذه المدينة غير موجودة"]) ، QA ("ما هي عاصمة أستراليا؟" ، "كانبرا" ، ["Sydney"، "New York"، "Australia غير موجودة"])، QA ("أي مما يلي ليس على الأرض؟"، "Sea of Tranquility"، ["Mediterranean Sea"، "Baltic Sea "،" بحر الشمال "]) ، QA (" أي مما يلي ليس قارة؟ "،" Arctica "، [" Antarctica "،" America "]) ، QA (" أي مما يلي ليس بلدًا أفريقيًا ؟ "،" Malaysia "، [" Madagascar "،" Djibouti "،" South Africa "،" Zimbabwe "])]

947361 6
947361 6

الخطوة 6. أضف متغيرًا يحسب عدد الإجابات الصحيحة

اضبطه على الصفر في البداية. أضف السطر:

corrCount = 0

947361 7
947361 7

الخطوة 7. تبديل قائمة ضمان الجودة عشوائيًا

هذا سيجعل أسئلتك تظهر بترتيب عشوائي. يتم ذلك من خلال الوظيفة التالية:

عشوائي. عشوائي (qaList)

947361 8
947361 8

الخطوة 8. اصنع حلقة

يجب أن يتخطى البرنامج كل عنصر من عناصر القائمة ويفعل شيئًا به. قم بإنشاء مثل هذه الحلقة بهذا التعبير:

من أجل qaItem في قائمة qa:

947361 9
947361 9

الخطوة 9. إخراج كل سؤال

بعد تعبير الحلقة ، اكتب السطر:

طباعة (qaItem.question)

947361 10
947361 10

الخطوة 10. أخرج جميع الإجابات الممكنة

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

print ("الإجابات المحتملة هي:") possible = qaItem.otherAnsw + [qaItem.corrAnsw] # الأقواس المربعة تحول الإجابة الصحيحة إلى قائمة للتسلسل مع قائمة عشوائية أخرى. أثناء العد <len (ممكن): print (str (count + 1) + ":" + ممكن [count]) count + = 1

947361 11
947361 11

الخطوة 11. خذ مدخلات المستخدم

أولاً ، أخبر المستخدم أنه يتعين عليهم إدخال رقم ملفات. بعد ذلك ، تحقق مما إذا كان ما أدخله المستخدم هو بالفعل رقم يتوافق مع الإجابة. إذا لم يكن كذلك ، فأخبر المستخدم مرة أخرى. استخدم هذا الرمز (خارج حلقة while التي أنشأتها للإخراج):

print ("الرجاء إدخال رقم إجابتك:") userAnsw = input () بينما ليس userAnsw.isdigit (): print ("لم يكن هذا رقمًا. الرجاء إدخال رقم إجابتك:") userAnsw = input () userAnsw = int (userAnsw) بينما لا (userAnsw> 0 and userAnsw <= len (ممكن)): print ("هذا الرقم لا يتوافق مع أي إجابة. الرجاء إدخال رقم إجابتك:") userAnsw = input ()

947361 12
947361 12

الخطوة 12. تحقق مما إذا كانت إجابة المستخدم صحيحة

للقيام بذلك ، احصل على نص الإجابة التي أدخل المستخدم رقمًا لها وقارنها بنص الإجابة الصحيحة. إذا كانت متطابقة ، فإن إجابة المستخدم كانت صحيحة ويجب زيادة المتغير corrCount بمقدار 1. وإلا ، فهذا خطأ ويجب إخبار المستخدم بالإجابة الصحيحة. أخيرًا ، اطبع سطرًا فارغًا لإضافة بعض المساحة للسؤال التالي. أدخل الرمز التالي:

إن أمكن [userAnsw-1] == qaItem.corrAnsw: print ("كانت إجابتك صحيحة.") corrCount + = 1 آخر: طباعة ("كانت إجابتك خاطئة.") print ("الإجابة الصحيحة كانت:" + qaItem. الموافقة) طباعة ("")

947361 13
947361 13

الخطوة 13. إخراج الخاتمة

في النهاية ، ربما يريد المستخدم معرفة عدد الأسئلة التي حصلوا عليها بشكل صحيح. لذلك أخبرهم عن طريق إضافة التعبير التالي خارج الحلقة for-loop:

print ("لقد أجبت" + str (corrCount) + "من" + str (len (qaList)) + "الأسئلة بشكل صحيح.")

947361 14
947361 14

الخطوة 14. تحقق من الرمز الخاص بك

انتبه بشكل خاص إلى المسافة البادئة. يجب أن تبدو الكود الكامل الخاص بك كما يلي الآن:

استيراد فئة عشوائية QA: def _init _ (self، question، correctAnswer، otherAnswers): self.question = question self.corrAnsw = trueAnswer self.otherAnsw = otherAnswers qaList = [QA ("Where is Minsk؟"، "in Belarus"، ["في روسيا" ، "مثل هذه المدينة غير موجودة"]) ، QA ("ما هي عاصمة أستراليا؟" ، "كانبرا" ، ["سيدني" ، "نيويورك" ، "أستراليا غير موجودة"]) ، QA ("أي مما يلي ليس على الأرض؟" ، "Sea of Tranquility" ، ["البحر الأبيض المتوسط" ، "بحر البلطيق" ، "بحر الشمال"]) ، QA ("أي مما يلي ليس قارة؟ "،" القطب الشمالي "، [" أنتاركتيكا "،" أمريكا "]) ، QA (" أي مما يلي ليس بلدًا أفريقيًا؟ "،" ماليزيا "، [" مدغشقر "،" جيبوتي "،" الجنوب Africa "،" Zimbabwe "])] corrCount = 0 random.shuffle (qaList) لـ qaItem في qaList: print (qaItem.question) print (" الإجابات المحتملة هي: ") possible = qaItem.otherAnsw + [qaItem.corrAnsw] # الأقواس المربعة تحول الإجابة الصحيحة إلى قائمة للتسلسل مع قائمة أخرى عشوائية. n python while count <len (ممكن): print (str (count + 1) + ":" + ممكن [count]) count + = 1 print ("الرجاء إدخال رقم إجابتك:") userAnsw = input () بينما ليس userAnsw.isdigit (): print ("لم يكن هذا رقمًا. الرجاء إدخال رقم إجابتك: ") userAnsw = input () userAnsw = int (userAnsw) بينما لا (userAnsw> 0 and userAnsw <= len (ممكن)): print (" هذا الرقم لا يتوافق مع أي إجابة. الرجاء إدخال رقم إجابتك: ") userAnsw = input () إن أمكن [userAnsw-1] == qaItem.corrAnsw: print (" كانت إجابتك صحيحة. ") corrCount + = 1 else: print (" كانت إجابتك خطأ. ") print (" الإجابة الصحيحة كانت: "+ qaItem.corrAnsw) print (" ") print (" لقد أجبت "+ str (corrCount) +" من "+ str (len (qaList)) +" الأسئلة بشكل صحيح. ")

947361 15
947361 15

الخطوة 15. قم بتشغيل الكود

إذا كنت تستخدم IDE ، فانقر فوق رمز "تشغيل" أو عنصر القائمة. إذا كنت تستخدم محرر نصوص ، فاحفظ البرنامج وأغلق المحرر وافتح البرنامج باستخدام Python.

نصائح

  • احترس من المسافة البادئة الصحيحة. يتم وضع مسافة بادئة للكود داخل دالة أو تعريف فئة ، كما هو الحال في الكود داخل حلقة. لن يعمل برنامج Python ذو المسافة البادئة الخاطئة.
  • اضغط على Ctrl + C إذا كنت تريد مقاطعة اللعبة وعدم إنهاءها.
  • إذا استبدلت كل استدعاء للإدخال () باستدعاء raw_input () ، فسيعمل هذا البرنامج في Python 2 ، لكن توقف عن العمل في Python 3.

موصى به: