اگر می خواهید پایتون را یاد بگیرید ، خوب است که از چند بازی ساده مبتنی بر متن شروع کنید. این مقاله نحوه ساخت یک بازی مسابقه را به شما نشان می دهد.
مراحل
مرحله 1. اگر قبلاً Python را نصب نکرده اید ، آن را نصب کنید
دو نسخه اصلی پایتون وجود دارد: پایتون 2 و پایتون 3. آنها قابل تعویض نیستند و پشتیبانی از پایتون 2 در سال 2020 به پایان می رسد ، بنابراین این مقاله فرض می کند که شما پایتون 3 را نصب می کنید.
مرحله 2. یک فایل جدید را در ویرایشگر متن یا Python IDE باز کنید
یک نام توصیفی بگذارید که با.py خاتمه می یابد.
مرحله 3. کتابخانه تصادفی را وارد کنید
برای تنظیم پاسخ های احتمالی به آن نیاز دارید.
مرحله 4. کلاس "QA" را تعریف کنید
"QA" شامل یک س questionال و یک پاسخ صحیح و لیستی از پاسخ های احتمالی دیگر است. تابع _init _ () هر زمان که یک شی QA جدید با تابع QA () ایجاد کنید ، فراخوانی می شود و آرگومان های آن به ویژگی مربوطه منتقل می شود. نوع:
کلاس QA: def _init _ (self، question، correctAnswer، otherAnswers): self.question = question self.corrAnsw = correctAnswer self.otherAnsw = otherAnswers
مرحله 5. لیستی از QA ها ایجاد کنید
به برخی از سوالات با یک پاسخ درست و برخی اشتباه فکر کنید. از هر یک اشیاء QA ایجاد کرده و آنها را در یک لیست قرار دهید. از آنجا که لیست کاملاً طولانی خواهد بود ، می توانید برای خوانایی بهتر آن را در چندین خط بشکنید. همه اینها با کد زیر انجام می شود (ممکن است متن شما متفاوت باشد):
qaList = [QA ("مینسک کجاست؟" ، "در بلاروس" ، ["در روسیه" ، "چنین شهری وجود ندارد"]) ، QA ("پایتخت استرالیا چیست؟" ، "کانبرا" ،
مرحله 6. متغیری را اضافه کنید که تعداد پاسخ های صحیح را بشمارد
در ابتدا آن را روی صفر قرار دهید. خط را اضافه کنید:
corrCount = 0
مرحله 7. لیست QA را به هم بزنید
این باعث می شود سوالات شما به ترتیب تصادفی ظاهر شوند. این کار با عملکرد زیر انجام می شود:
random.shuffle (qaList)
مرحله 8. یک حلقه ایجاد کنید
برنامه باید هر مورد از لیست را مرور کرده و کاری با آن انجام دهد. چنین حلقه ای با این عبارت ایجاد کنید:
برای qaItem در qaList:
مرحله 9. هر س Outال را پاسخ دهید
بعد از بیان حلقه ، خط را بنویسید:
چاپ (qaItem.question)
مرحله 10. همه پاسخهای ممکن را ارائه دهید
آنها باید به ترتیب تصادفی ظاهر شوند تا پاسخ صحیح همیشه در یک موقعیت نباشد. همچنین ، باید با یک عدد مقدمه شوند تا کاربر مجبور نباشد دوباره کل پاسخ را وارد کند. کد زیر این کار را می کند:
print ("پاسخ های احتمالی عبارتند از:") ممکن است = qaItem.otherAnsw + [qaItem.corrAnsw] # پرانتز مربع ، پاسخ صحیح را به لیست برای پیوند با لیست های دیگر تبدیل می کند random.shuffle (ممکن است) تعداد = 0 # فهرست فهرست ها از 0 در پایتون شروع می شود در حالی که شمارش <len (امکان پذیر است): print (str (count + 1) + ":" + possible [count]) count + = 1
مرحله 11. ورودی کاربر را بگیرید
ابتدا به کاربر بگویید که باید شماره خود را وارد کند. سپس ، بررسی کنید که آیا آنچه کاربر وارد کرده است واقعاً عددی است که با پاسخ مطابقت دارد. اگر اینطور نیست ، دوباره به کاربر اطلاع دهید. از این کد (خارج از حلقه while که برای خروجی ایجاد کرده اید) استفاده کنید:
print ("لطفاً شماره پاسخ خود را وارد کنید:") userAnsw = input () در حالی که userAnsw.isdigit () نیست: print ("این یک شماره نبود. لطفاً شماره پاسخ خود را وارد کنید:") userAnsw = input () userAnsw = int (userAnsw) در حالی که نیست (userAnsw> 0 و userAnsw <= len (ممکن است)): print ("این شماره با هیچ پاسخی مطابقت ندارد. لطفاً شماره پاسخ خود را وارد کنید:") userAnsw = ورودی ()
مرحله 12. بررسی کنید که آیا پاسخ کاربر صحیح بوده است یا خیر
برای انجام این کار ، متن پاسخ را که کاربر شماره ای برای آن وارد کرده است دریافت کنید و آن را با متن پاسخ صحیح مقایسه کنید. اگر آنها یکسان باشند ، پاسخ کاربر صحیح بود و متغیر corrCount باید 1 افزایش یابد. در غیر این صورت ، اشتباه است و باید پاسخ درست به کاربر گفته شود. در نهایت ، یک خط خالی چاپ کنید تا به سوال بعدی فضا اضافه کنید. کد زیر را وارد کنید:
در صورت امکان [userAnsw-1] == qaItem.corrAnsw: print ("پاسخ شما درست بود.") corrCount + = 1 else: print ("پاسخ شما اشتباه بود.") print ("پاسخ صحیح بود:" + qaItem. corrAnsw) چاپ ("")
مرحله 13. نتیجه گیری را ارائه دهید
در پایان ، احتمالاً کاربر می خواهد بداند چه تعداد سوال درست بوده است. بنابراین با افزودن عبارت زیر خارج از حلقه for به آنها بگویید:
print ("شما پاسخ" + str (corrCount) + "از" + str (len (qaList)) + "سوالات را به درستی")
مرحله 14. کد خود را بررسی کنید
توجه ویژه ای به تورفتگی داشته باشید. کد کامل شما باید به این شکل باشد:
وارد کردن کلاس تصادفی QA: def _init _ (self، question، correctAnswer، otherAnswers): self.question = question self.corrAnsw = correctAnswer self.otherAnsw = otherAnswers qaList = [QA ("مینسک کجاست؟" ، "در بلاروس" ، ["در روسیه" ، "چنین شهری وجود ندارد"]) ، QA ("پایتخت استرالیا چیست؟" ، "کانبرا" ، ["سیدنی" ، "نیویورک" ، "استرالیا وجود ندارد"]) ، QA ("کدام یک از موارد زیر روی زمین نیست؟" ، "دریای آرامش" ، ["دریای مدیترانه" ، "دریای بالتیک" ، "دریای شمال"]) ، QA ("کدام یک از موارد زیر نیست یک قاره؟ "،" قطب جنوب "، [" قطب جنوب "،" آمریکا "]) ، QA (" کدام یک از کشورهای زیر یک کشور آفریقایی نیست؟ "،" مالزی "، [" ماداگاسکار "،" جیبوتی "،" جنوب آفریقا "،" زیمبابوه "])] corrCount = 0 random.shuffle (qaList) برای qaItem در qaList: print (qaItem.question) print (" پاسخ های احتمالی عبارتند از: ") ممکن = qaItem.otherAnsw + [qaItem.corrAnsw] # پرانتز مربع پاسخ صحیح را به لیست برای اتصال با لیست های دیگر تبدیل می کند تصادفی. shuffle (ممکن است) تعداد = 0 # فهرست فهرست ها از 0 i شروع می شود n python while count <len (possible): print (str (count + 1) + ":" + possible [count]) count + = 1 print ("لطفاً شماره پاسخ خود را وارد کنید:") userAnsw = input () while not userAnsw.isdigit (): print ("این یک عدد نبود. لطفاً شماره پاسخ خود را وارد کنید: ") userAnsw = input () userAnsw = int (userAnsw) در حالی که نه (userAnsw> 0 و userAnsw <= len (ممکن است)): print (" این شماره با هیچ پاسخی مطابقت ندارد لطفاً شماره پاسخ خود را وارد کنید: ") userAnsw = input () در صورت امکان [userAnsw-1] == qaItem.corrAnsw: print (" پاسخ شما درست بود. ") corrCount += 1 دیگری: print (" پاسخ شما بود اشتباه است. ") print (" پاسخ صحیح این بود: " + qaItem.corrAnsw) print (" ") print (" شما به " + str (corrCount) +" از " + str (len (qaList)) +" سوالات به درستی پاسخ دادید. ")
مرحله 15. کد را اجرا کنید
اگر از IDE استفاده می کنید ، روی نماد "اجرا" یا مورد منو کلیک کنید. اگر از ویرایشگر متن استفاده می کنید ، برنامه خود را ذخیره کنید ، ویرایشگر را ببندید و برنامه خود را با پایتون باز کنید.
نکات
- مراقب تورفتگی صحیح باشید. کد داخل یک تابع یا تعریف کلاس ، مانند کد داخل یک حلقه ، تورفتگی دارد. یک برنامه پایتون با تورفتن اشتباه کار نمی کند.
- اگر می خواهید بازی را قطع کنید و آن را تمام نکنید ، Ctrl+C را فشار دهید.
- اگر هر فراخوانی ورودی () را با فراخوانی raw_input () جایگزین کنید ، این برنامه در پایتون 2 کار می کند ، اما در پایتون 3 کار را متوقف می کند.