በ Python ውስጥ የፈተና ጥያቄ ጨዋታ እንዴት እንደሚሠራ (ከስዕሎች ጋር)

ዝርዝር ሁኔታ:

በ Python ውስጥ የፈተና ጥያቄ ጨዋታ እንዴት እንደሚሠራ (ከስዕሎች ጋር)
በ Python ውስጥ የፈተና ጥያቄ ጨዋታ እንዴት እንደሚሠራ (ከስዕሎች ጋር)

ቪዲዮ: በ Python ውስጥ የፈተና ጥያቄ ጨዋታ እንዴት እንደሚሠራ (ከስዕሎች ጋር)

ቪዲዮ: በ Python ውስጥ የፈተና ጥያቄ ጨዋታ እንዴት እንደሚሠራ (ከስዕሎች ጋር)
ቪዲዮ: Python - Lists! 2024, ግንቦት
Anonim

Python ን ለመማር ከፈለጉ በአንዳንድ ቀላል ጽሑፍ-ተኮር ጨዋታዎች መጀመር ጥሩ ነው። የጥያቄ ጨዋታ እንዴት እንደሚሠሩ ይህ ጽሑፍ ያሳየዎታል።

ደረጃዎች

947361 1
947361 1

ደረጃ 1. አስቀድመው ካላደረጉ Python ን ይጫኑ።

የ Python ሁለት ዋና ዋና ስሪቶች አሉ -ፓይዘን 2 እና ፓይዘን 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” ጥያቄ እና ትክክለኛ መልስ ፣ እና ሊሆኑ የሚችሉ ሌሎች መልሶች ዝርዝርን ያጠቃልላል። ክዋዮቹ ወደ ተጓዳኝ ባህርይ በሚተላለፉበት QA () ተግባር አዲስ የ QA ነገር ሲፈጥሩ የ _init _ () ተግባሩ ይጠራል። ዓይነት

ክፍል QA: def _init _ (ራስ ፣ ጥያቄ ፣ ትክክለኛ መልስ ፣ ሌሎች መልሶች): ራስን። ጥያቄ = ጥያቄ ራስን።

947361 5
947361 5

ደረጃ 5. የ QAs ዝርዝር ይፍጠሩ።

አንዳንድ ጥያቄዎችን በአንድ ትክክለኛ እና አንዳንድ የተሳሳተ መልሶች ያስቡ። ከእያንዳንዱ የ QA ነገሮችን ይፍጠሩ እና በዝርዝሩ ውስጥ ያስቀምጧቸው። ዝርዝሩ በጣም ረጅም ስለሚሆን ለተሻለ ንባብ በበርካታ መስመሮች ላይ መስበር ይችላሉ። ይህ ሁሉ የሚከናወነው በሚከተለው ኮድ ነው (ጽሑፍዎ የተለየ ሊሆን ይችላል)

qaList = [QA (“ሚንስክ የት አለ?” ፣ “በቤላሩስ” ፣ [“በሩሲያ” ፣ “እንዲህ ያለ ከተማ የለም”]) ፣ QA (“የአውስትራሊያ ዋና ከተማ ምንድን ነው?” ፣ “ካንቤራ” ፣ [“ሲድኒ” ፣ “ኒው ዮርክ” ፣ “አውስትራሊያ የለም”]) ፣ QA (“ከሚከተሉት ውስጥ በምድር ላይ ያልሆነው?” ፣ “የፀጥታ ባሕር” ፣ [“የሜዲትራኒያን ባሕር” ፣ “ባልቲክ ባሕር””፣“ሰሜን ባህር”]) ፣ QA (“ከሚከተሉት ውስጥ አህጉር ያልሆነው?”፣“አርክቲካ”፣ [“አንታርክቲካ”፣“አሜሪካ”]) ፣ QA (“ከሚከተሉት ውስጥ የአፍሪካ ሀገር ያልሆነ ?”፣“ማሌዥያ”፣ [“ማዳጋስካር”፣“ጅቡቲ”፣“ደቡብ አፍሪካ”፣“ዚምባብዌ”])]

947361 6
947361 6

ደረጃ 6. ስንት መልሶች ትክክል እንደነበሩ የሚቆጠር ተለዋዋጭ አክል።

መጀመሪያ ላይ ወደ ዜሮ ያዘጋጁት። መስመሩን ያክሉ;

corrCount = 0

947361 7
947361 7

ደረጃ 7. የ QA ዝርዝሩን ይቀላቅሉ።

ይህ ጥያቄዎችዎ በዘፈቀደ ቅደም ተከተል እንዲታዩ ያደርጋቸዋል። ይህ የሚከናወነው በሚከተለው ተግባር ነው-

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] # ካሬ ቅንፎች ከሌላ ዝርዝር ጋር ለማዛመድ ትክክለኛውን መልስ ወደ ዝርዝር ይለውጡ በዘፈቀደ። በሚቆጠርበት ጊዜ <ሌን (ይቻላል): ማተም (str (ቁጥር + 1) + ":" + ይቻላል [ቆጠራ]) ቆጠራ + = 1

947361 11
947361 11

ደረጃ 11. የተጠቃሚውን ግብዓት ይውሰዱ።

በመጀመሪያ የተጠቃሚውን ቁጥር ማስገባት እንዳለባቸው ለተጠቃሚው ይንገሩ። ከዚያ ተጠቃሚው የገባው በእርግጥ ከመልሱ ጋር የሚዛመድ ቁጥር መሆኑን ያረጋግጡ። ካልሆነ ለተጠቃሚው እንደገና ይንገሩት። ይህንን ኮድ ይጠቀሙ (ለውጤቱ ከፈጠሩት የጊዜ ዑደት ውጭ) ፦

አትም ("እባክህ የመልስህን ቁጥር አስገባ") userAnsw = input () userAnsw.isdigit (): print ("ያ ቁጥር አልነበረም። እባክህ የመልስህን ቁጥር አስገባ") userAnsw = input () userAnsw = int (userAnsw) ባይሆንም (userAnsw> 0 እና userAnsw <= len (የሚቻል)): ህትመት ("ያ ቁጥር ከማንኛውም መልስ ጋር አይዛመድም። እባክዎ የመልስዎን ቁጥር ያስገቡ") userAnsw = input ()

947361 12
947361 12

ደረጃ 12. የተጠቃሚው መልስ ትክክል መሆኑን ያረጋግጡ።

ይህንን ለማድረግ ተጠቃሚው አንድ ቁጥር የገባበትን የመልስ ጽሑፍ ያግኙ እና ከትክክለኛው መልስ ጽሑፍ ጋር ያወዳድሩ። እነሱ ተመሳሳይ ከሆኑ የተጠቃሚው መልስ ትክክል ነበር እና ተለዋዋጭ ኮርአርኮንት በ 1. መጨመር አለበት ፣ አለበለዚያ ስህተት ነው እና ለተጠቃሚው ትክክለኛውን መልስ መነገር አለበት። በመጨረሻ ፣ ለሚቀጥለው ጥያቄ የተወሰነ ቦታ ለመጨመር ባዶ መስመር ያትሙ። የሚከተለውን ኮድ ያስገቡ

የሚቻል ከሆነ [userAnsw-1] == qaItem.corrAnsw: ማተም ("የእርስዎ መልስ ትክክል ነበር።") corrCount + = 1 ሌላ: ማተም ("መልስዎ የተሳሳተ ነበር።") ህትመት ("ትክክለኛ መልስ" + qaItem) ነበር። corrAnsw) ህትመት ("")

947361 13
947361 13

ደረጃ 13. መደምደሚያ ያቅርቡ።

በመጨረሻ ተጠቃሚው ምን ያህል ጥያቄዎች በትክክል እንዳገኙ ማወቅ ይፈልግ ይሆናል። ስለዚህ የሚከተለውን አገላለጽ ከቅድመ-ዑደት ውጭ በማከል ይንገሯቸው

ማተም ("መልስ ሰጡ" + str (corrCount) + "of" + str (len (qaList)) + "ጥያቄዎች በትክክል።")

947361 14
947361 14

ደረጃ 14. ኮድዎን ይፈትሹ።

ለድርጊቱ ልዩ ትኩረት ይስጡ። የተሟላ ኮድዎ አሁን እንደዚህ መሆን አለበት -

የዘፈቀደ ክፍል QA: def _init _ (ራስ ፣ ጥያቄ ፣ ትክክለኛ መልስ ፣ ሌሎች መልሶች) ፦ self.question = question self.corrAnsw = correctAnswer self. “በሩሲያ” ፣ “እንደዚህ ያለ ከተማ የለም”]) ፣ QA (“የአውስትራሊያ ዋና ከተማ ምንድነው?” ፣ “ካንቤራ” ፣ [“ሲድኒ” ፣ “ኒው ዮርክ” ፣ “አውስትራሊያ የለም”)]) ፣ QA (“ከሚከተሉት ውስጥ በምድር ላይ ያልሆነው?” ፣ “የፀጥታ ባሕር” ፣ [“የሜዲትራኒያን ባህር” ፣ “ባልቲክ ባሕር” ፣ “ሰሜን ባሕር”]) ፣ QA (“ከሚከተሉት ውስጥ የትኛው አይደለም) አህጉር?”፣“አርክቲካ”፣ [“አንታርክቲካ”፣“አሜሪካ”]) ፣ QA (“ከሚከተሉት ውስጥ የአፍሪካ ሀገር ያልሆነው?”፣“ማሌዥያ”፣ [“ማዳጋስካር”፣“ጂቡቲ”፣“ደቡብ አፍሪካ”፣” ዚምባብዌ”])] corrCount = 0 random.shuffle (qaList) ለ qaItem በ qaList ውስጥ: ማተሚያ (qaItem.question) ህትመት (“ሊሆኑ የሚችሉ መልሶች ናቸው”) ይቻላል = qaItem.otherAnsw + [qaItem.corrAnsw] # ካሬ ቅንፎች ከሌላ ዝርዝር ጋር ለመገጣጠም ትክክለኛውን መልስ ወደ ዝርዝር ይለውጣሉ በዘፈቀደ። n python በሚቆጠርበት ጊዜ <ሌን (የሚቻል): ህትመት (str (ቆጠራ + 1) + ":" + ይቻላል [ቆጠራ]) ቆጠራ + = 1 ህትመት ("እባክዎን የመልስዎን ቁጥር ያስገቡ") userAnsw = input () ተጠቃሚAnsw.isdigit () ባይሆንም (ማተም) (“ያ ቁጥር አልነበረም። እባክዎን የመልስዎን ቁጥር ያስገቡት)) userAnsw = input () userAnsw = int (userAnsw) ሳይሆን (userAnsw> 0 and userAnsw <= len (የሚቻል)): print (“ያ ቁጥር ከማንኛውም መልስ ጋር አይዛመድም)። እባክዎን የመልስዎን ቁጥር ያስገቡ) ") userAnsw = input () ከተቻለ [userAnsw-1] == qaItem.corrAnsw: print (" የእርስዎ መልስ ትክክል ነበር። ") corrCount += 1 ሌላ: ማተም (" የእርስዎ መልስ ነበር ስህተት። ") ህትመት (" ትክክለኛው መልስ " + qaItem.corrAnsw) ህትመት (" ") ህትመት (" መልስ ሰጥተዋል " + str (corrCount) +" የ " + str (ሌን (qaList)) +" ጥያቄዎች በትክክል ነበሩ። ")

947361 15
947361 15

ደረጃ 15. ኮዱን ያሂዱ።

አይዲኢ የሚጠቀሙ ከሆነ “አሂድ” ምልክቱን ወይም የምናሌ ንጥሉን ጠቅ ያድርጉ። የጽሑፍ አርታኢን የሚጠቀሙ ከሆነ ፕሮግራምዎን ያስቀምጡ ፣ አርታኢውን ይዝጉ እና ፕሮግራምዎን በ Python ይክፈቱ።

ጠቃሚ ምክሮች

  • ለትክክለኛ ገብነት ይጠንቀቁ። በሉፕ ውስጥ ያለው ኮድ እንደ ተግባር ወይም የክፍል ፍቺ ውስጥ ያለው ኮድ ገብቷል። የተሳሳተ ውስጣዊ ሁኔታ ያለው የፓይዘን ፕሮግራም አይሰራም።
  • ጨዋታውን ለማቋረጥ እና ላለመጨረስ ከፈለጉ Ctrl+C ን ይጫኑ።
  • እያንዳንዱን የግብዓት ጥሪ (ጥሬ) ግብዓት () ጥሪ ከተተካ ይህ ፕሮግራም በ Python 2 ውስጥ ይሠራል ፣ ግን በ Python 3 ውስጥ መሥራት ያቆማል።

የሚመከር: