पायथन में एक प्रश्नोत्तरी खेल कैसे बनाएं (चित्रों के साथ)

विषयसूची:

पायथन में एक प्रश्नोत्तरी खेल कैसे बनाएं (चित्रों के साथ)
पायथन में एक प्रश्नोत्तरी खेल कैसे बनाएं (चित्रों के साथ)

वीडियो: पायथन में एक प्रश्नोत्तरी खेल कैसे बनाएं (चित्रों के साथ)

वीडियो: पायथन में एक प्रश्नोत्तरी खेल कैसे बनाएं (चित्रों के साथ)
वीडियो: पायथन में काउंटडाउन टाइमर प्रोग्राम ⌛ 2024, मई
Anonim

यदि आप पायथन सीखना चाहते हैं, तो कुछ सरल पाठ-आधारित खेलों से शुरुआत करना अच्छा है। यह लेख आपको दिखाएगा कि क्विज़ गेम कैसे बनाया जाता है।

कदम

947361 1
947361 1

चरण 1. यदि आपने पहले से पायथन स्थापित नहीं किया है।

पायथन के दो प्रमुख संस्करण हैं: पायथन 2 और पायथन 3। वे विनिमेय नहीं हैं और पायथन 2 के लिए समर्थन 2020 में समाप्त हो जाएगा, इसलिए यह लेख मान लेगा कि आप पायथन 3 स्थापित करते हैं।

947361 2
947361 2

चरण 2. टेक्स्ट एडिटर या अपने पायथन आईडीई में एक नई फाइल खोलें।

इसे एक वर्णनात्मक नाम दें जो.py के साथ समाप्त होता है।

947361 3
947361 3

चरण 3. यादृच्छिक पुस्तकालय आयात करें।

संभावित उत्तरों को बेतरतीब ढंग से व्यवस्थित करने के लिए आपको इसकी आवश्यकता होगी।

947361 4
947361 4

चरण 4. एक वर्ग "क्यूए" को परिभाषित करें।

एक "क्यूए" में एक प्रश्न और एक सही उत्तर और संभावित अन्य उत्तरों की एक सूची शामिल होगी। जब भी आप QA() फ़ंक्शन के साथ एक नया QA ऑब्जेक्ट बनाते हैं, तो _init_() फ़ंक्शन को कॉल किया जाएगा, इसके तर्कों को संबंधित विशेषता में पारित किया जाएगा। प्रकार:

कक्षा क्यूए: def _init_ (स्वयं, प्रश्न, सही उत्तर, अन्य उत्तर): स्वयं प्रश्न = प्रश्न स्वयं। कोर उत्तर = सही उत्तर स्वयं। अन्य उत्तर = अन्य उत्तर

947361 5
947361 5

चरण 5. क्यूएएस की एक सूची बनाएं।

कुछ प्रश्नों के बारे में सोचें जिनमें एक सही और कुछ गलत उत्तर हों। प्रत्येक से QA ऑब्जेक्ट बनाएं और उन्हें एक सूची में रखें। चूंकि सूची काफी लंबी होगी, इसलिए बेहतर पठनीयता के लिए आप इसे कई पंक्तियों में तोड़ सकते हैं। यह सब निम्नलिखित कोड के साथ किया जाता है (आपका टेक्स्ट अलग हो सकता है):

qaList = [QA ("मिन्स्क कहाँ है?", "बेलारूस में", ["रूस में", "ऐसा शहर मौजूद नहीं है"]), QA ("ऑस्ट्रेलिया की राजधानी क्या है?", "कैनबरा", ["सिडनी", "न्यूयॉर्क", "ऑस्ट्रेलिया मौजूद नहीं है"]), क्यूए ("निम्न में से कौन सा पृथ्वी पर नहीं है?", "शांति का सागर", ["भूमध्य सागर", "बाल्टिक सागर" ", "नॉर्थ सी"]), क्यूए ("निम्न में से कौन एक महाद्वीप नहीं है?", "आर्कटिका", ["अंटार्कटिका", "अमेरिका"]), क्यूए ("निम्न में से कौन एक अफ्रीकी देश नहीं है" ?", "मलेशिया", ["मेडागास्कर", "जिबूती", "दक्षिण अफ्रीका", "जिम्बाब्वे"])]

947361 6
947361 6

चरण 6. एक चर जोड़ें जो यह गिनता है कि कितने उत्तर सही थे।

शुरुआत में इसे शून्य पर सेट करें। लाइन जोड़ें:

गलत गणना = 0

947361 7
947361 7

चरण 7. क्यूए सूची में फेरबदल करें।

इससे आपके प्रश्न यादृच्छिक क्रम में प्रकट होंगे। यह निम्नलिखित फ़ंक्शन के साथ किया जाता है:

random.shuffle(qaList)

947361 8
947361 8

चरण 8. एक लूप बनाएं।

कार्यक्रम को सूची के प्रत्येक आइटम पर जाना चाहिए और इसके साथ कुछ करना चाहिए। इस अभिव्यक्ति के साथ ऐसा लूप बनाएं:

qaList में qaItem के लिए:

947361 9
947361 9

चरण 9. प्रत्येक प्रश्न को आउटपुट करें।

लूप एक्सप्रेशन के बाद, लाइन लिखें:

प्रिंट (qaItem.question)

947361 10
947361 10

चरण 10. सभी संभावित उत्तरों को आउटपुट करें।

उन्हें एक यादृच्छिक क्रम में प्रकट होना चाहिए ताकि सही उत्तर हमेशा एक ही स्थिति में न हो। साथ ही, उनके सामने एक संख्या होनी चाहिए ताकि उपयोगकर्ता को पूरा उत्तर दोबारा दर्ज न करना पड़े। निम्नलिखित कोड यह करता है:

प्रिंट ("संभावित उत्तर हैं:") संभव = qaItem.otherAnsw + [qaItem.corrAnsw] # वर्ग कोष्ठक अन्य सूची के साथ संयोजन के लिए सही उत्तर को सूची में बदलते हैं random.shuffle(संभव) गिनती = 0 # सूची अनुक्रमणिका अजगर में 0 से शुरू होती है जबकि गिनती <लेन (संभव): प्रिंट (str (गिनती + 1) + ":" + संभव [गिनती]) गिनती + = 1

947361 11
947361 11

चरण 11. उपयोगकर्ता का इनपुट लें।

सबसे पहले यूजर को बता दें कि उन्हें अपना नंबर डालना है। फिर, जांचें कि क्या उपयोगकर्ता ने जो दर्ज किया है वह वास्तव में एक संख्या है जो उत्तर से मेल खाती है। यदि ऐसा नहीं है, तो उपयोगकर्ता को फिर से बताएं। इस कोड का उपयोग करें (आउटपुट के लिए आपके द्वारा बनाए गए लूप के बाहर):

प्रिंट ("कृपया अपने उत्तर की संख्या दर्ज करें:") userAnsw = इनपुट () जबकि userAnsw.isdigit (): प्रिंट ("वह संख्या नहीं थी। कृपया अपने उत्तर की संख्या दर्ज करें:") userAnsw = इनपुट () userAnsw = int(userAnsw) जबकि नहीं (userAnsw > 0 और userAnsw <= len(संभव)): प्रिंट ("वह संख्या किसी भी उत्तर के अनुरूप नहीं है। कृपया अपने उत्तर की संख्या दर्ज करें:") userAnsw = इनपुट ()

947361 12
947361 12

चरण 12. जांचें कि उपयोगकर्ता का उत्तर सही था या नहीं।

ऐसा करने के लिए, उस उत्तर का पाठ प्राप्त करें जिसके लिए उपयोगकर्ता ने एक संख्या दर्ज की है और इसकी तुलना सही उत्तर के पाठ से करें। यदि वे समान हैं, तो उपयोगकर्ता का उत्तर सही था और चर corrCount को 1 से बढ़ाया जाना चाहिए। अन्यथा, यह गलत है और उपयोगकर्ता को सही उत्तर बताया जाना चाहिए। अंत में, अगले प्रश्न में कुछ जगह जोड़ने के लिए एक खाली लाइन प्रिंट करें। निम्नलिखित कोड दर्ज करें:

यदि संभव हो [userAnsw-1] == qaItem.corrAnsw: प्रिंट ("आपका उत्तर सही था।") corrCount += 1 और: प्रिंट ("आपका उत्तर गलत था।") प्रिंट ("सही उत्तर था:" + qaItem. corrAnsw) प्रिंट ("")

947361 13
947361 13

चरण 13. एक निष्कर्ष आउटपुट करें।

अंत में, उपयोगकर्ता शायद यह जानना चाहता है कि उन्होंने कितने प्रश्न सही किए। तो उन्हें फॉर-लूप के बाहर निम्नलिखित अभिव्यक्ति जोड़कर बताएं:

प्रिंट ("आपने उत्तर दिया" + str (corrCount) + "का" + str (len (qaList)) + "सवाल सही ढंग से।")

947361 14
947361 14

चरण 14. अपना कोड जांचें।

इंडेंटेशन पर विशेष ध्यान दें। आपका पूरा कोड अब इस तरह दिखना चाहिए:

यादृच्छिक वर्ग क्यूए आयात करें: def _init_(स्वयं, प्रश्न, सही उत्तर, अन्य उत्तर): स्वयं प्रश्न = प्रश्न स्वयं। कोर उत्तर = सही उत्तर स्वयं। अन्य उत्तर = अन्य उत्तर qaList = [क्यूए ("मिन्स्क कहां है?", "बेलारूस में", ["रूस में", "ऐसा शहर मौजूद नहीं है"]), क्यूए ("ऑस्ट्रेलिया की राजधानी क्या है?", "कैनबरा", ["सिडनी", "न्यूयॉर्क", "ऑस्ट्रेलिया मौजूद नहीं है"]), QA ("निम्न में से कौन सा पृथ्वी पर नहीं है?", "शांति का सागर", ["भूमध्य सागर", "बाल्टिक सागर", "उत्तरी सागर"]), QA ("निम्न में से कौन सा नहीं है एक महाद्वीप?", "आर्कटिका", ["अंटार्कटिका", "अमेरिका"]), क्यूए ("निम्न में से कौन एक अफ्रीकी देश नहीं है?", "मलेशिया", ["मेडागास्कर", "जिबूती", "दक्षिण अफ्रीका", "जिम्बाब्वे"])] qaList में qaItem के लिए corrCount = 0 random.shuffle(qaList): प्रिंट (qaItem.question) प्रिंट ("संभावित उत्तर हैं:") संभव = qaItem.otherAnsw + [qaItem.corrAnsw] # वर्ग कोष्ठक अन्य सूची के साथ संयोजन के लिए सही उत्तर को सूची में बदलते हैं random.shuffle(संभव) गिनती = 0 # सूची सूचकांक 0 से शुरू होते हैं i n अजगर जबकि गिनती <लेन (संभव): प्रिंट (str (गिनती + 1) + ":" + संभव [गिनती]) गिनती + = 1 प्रिंट ("कृपया अपने उत्तर की संख्या दर्ज करें:") userAnsw = इनपुट () जबकि userAnsw.isdigit() नहीं: प्रिंट ("वह संख्या नहीं थी। कृपया अपने उत्तर की संख्या दर्ज करें:") userAnsw = input() userAnsw = int(userAnsw) जबकि नहीं (userAnsw> 0 और userAnsw <= len(संभव)): प्रिंट ("वह संख्या किसी भी उत्तर के अनुरूप नहीं है। कृपया अपने उत्तर की संख्या दर्ज करें:") userAnsw = input() यदि संभव हो तो[userAnsw-1] == qaItem.corrAnsw: प्रिंट ("आपका उत्तर सही था।") corrCount += 1 और: प्रिंट ("आपका उत्तर था गलत।") प्रिंट ("सही उत्तर था:" + qaItem.corrAnsw) प्रिंट ("") प्रिंट ("आपने उत्तर दिया" + str (corrCount) + " का " + str (len (qaList)) + " प्रश्न सही ढंग से। ")

947361 15
947361 15

चरण 15. कोड चलाएँ।

यदि आप IDE का उपयोग कर रहे हैं, तो "रन" चिह्न या मेनू आइटम पर क्लिक करें। यदि आप टेक्स्ट एडिटर का उपयोग कर रहे हैं, तो अपना प्रोग्राम सेव करें, एडिटर को बंद करें और पायथन के साथ अपना प्रोग्राम खोलें।

टिप्स

  • सही इंडेंटेशन के लिए देखें। किसी फ़ंक्शन या वर्ग परिभाषा के अंदर कोड इंडेंट किया जाता है, जैसा कि लूप के अंदर कोड होता है। गलत इंडेंटेशन वाला पायथन प्रोग्राम काम नहीं करेगा।
  • यदि आप खेल को बाधित करना चाहते हैं और इसे समाप्त नहीं करना चाहते हैं तो Ctrl + C दबाएं।
  • यदि आप इनपुट () के प्रत्येक कॉल को कच्चे_इनपुट () के कॉल से बदलते हैं, तो यह प्रोग्राम पायथन 2 में काम करेगा, लेकिन पायथन 3 में काम करना बंद कर देगा।

सिफारिश की: