Python -да викторинаны қалай жасауға болады (суреттермен)

Мазмұны:

Python -да викторинаны қалай жасауға болады (суреттермен)
Python -да викторинаны қалай жасауға болады (суреттермен)

Бейне: Python -да викторинаны қалай жасауға болады (суреттермен)

Бейне: Python -да викторинаны қалай жасауға болады (суреттермен)
Бейне: Mentimeter. Ментиметр бағдарламасымен жұмыс 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» сыныбын анықтаңыз

«Сұрақ -жауап» сұраудан және дұрыс жауаптан және мүмкін болатын басқа жауаптар тізімінен тұрады. _Init _ () функциясы QA () функциясымен жаңа QA объектісін жасаған сайын шақырылады, оның аргументтері сәйкес атрибутқа беріледі. Түрі:

QA сыныбы: def _init _ (өзіндік, сұрақ, дұрысЖауап, басқаЖауаптар): self.question = сұрақ self.corrAnsw = дұрыс Жауап self.otherAnsw = басқа Жауаптар

947361 5
947361 5

Қадам 5. Сапалар тізімін жасаңыз

Бір дұрыс және кейбір қате жауаптары бар кейбір сұрақтар туралы ойланыңыз. Әрқайсысынан QA нысандарын жасаңыз және оларды тізімге қойыңыз. Тізім өте ұзақ болғандықтан, оны жақсы оқылуы үшін оны бірнеше жолға бөлуге болады. Мұның бәрі келесі кодпен жасалады (сіздің мәтініңіз басқаша болуы мүмкін):

qaList = [QA («Минск қайда?», «Беларусьте», [«Ресейде», «ондай қала жоқ»]), QA («Австралияның астанасы қандай?», «Канберра»), [«Сидней», «Нью -Йорк», «Австралия жоқ»])), QA («Төмендегілердің қайсысы Жерде жоқ?», «Тыныштық теңізі», [«Жерорта теңізі», «Балтық теңізі» «,» Солтүстік теңіз «])), QA (» Төмендегілердің қайсысы құрлық емес? «,» Арктика «, [» Антарктида «,» Америка «])), QA (» Төмендегілердің қайсысы Африка елдері емес? ? «,» Малайзия «, [» Мадагаскар «,» Джибути «,» Оңтүстік Африка «,» Зимбабве «])]

947361 6
947361 6

Қадам 6. Қанша жауап дұрыс болғанын есептейтін айнымалыны қосыңыз

Басында нөлге қойыңыз. Жолды қосыңыз:

corrCount = 0

947361 7
947361 7

Қадам 7. QA тізімін араластырыңыз

Бұл сіздің сұрақтарыңызды кездейсоқ ретпен көрсетеді. Бұл келесі функциямен орындалады:

кездейсоқ.қатысу (qaList)

947361 8
947361 8

Қадам 8. Ілмек жасаңыз

Бағдарлама тізімдегі әрбір элементті қарап шығып, онымен бірдеңе жасауы керек. Мына өрнекпен осындай цикл жасаңыз:

qaList ішіндегі qaItem үшін:

947361 9
947361 9

9 -қадам. Әр сұрақты шығарыңыз

Цикл өрнегінен кейін жолды жазыңыз:

басып шығару (qaItem.question)

947361 10
947361 10

Қадам 10. Барлық мүмкін жауаптарды шығарыңыз

Олар кездейсоқ ретпен пайда болуы керек, сондықтан дұрыс жауап әрқашан бір орында болмайды. Сондай -ақ, пайдаланушы жауаптың барлығын қайтадан енгізбеуі үшін олардың алдында сандар болуы керек. Келесі код мұны істейді:

print («Мүмкін жауаптар:») мүмкін = qaItem.otherAnsw + [qaItem.corrAnsw] # шаршы жақшалар дұрыс жауапты басқа тізіммен біріктіру үшін тізімге айналдырады random.shuffle (мүмкін) count = 0 # тізім индекстері питонда 0 -ден басталады while count <len (мүмкін): басып шығару (str (count + 1) + «:» + мүмкін [count]) count + = 1

947361 11
947361 11

Қадам 11. Пайдаланушының кірісін алыңыз

Алдымен пайдаланушыға олардың санын енгізу керектігін айтыңыз. Содан кейін, пайдаланушының енгізгені жауапқа сәйкес келетін сан екенін тексеріңіз. Егер олай болмаса, пайдаланушыға тағы да айтыңыз. Бұл кодты пайдаланыңыз (шығару үшін жасаған уақыт циклінің сыртында):

print («Жауабыңыздың санын енгізіңіз:») userAnsw = input () userAnsw.isdigit () емес, ал: print («Бұл сан емес еді. Жауабыңыздың нөмірін енгізіңіз:») userAnsw = input () userAnsw = int (userAnsw) жоқ кезде (userAnsw> 0 және userAnsw <= len (мүмкін)): print («Бұл сан жауапқа сәйкес келмейді. Жауабыңыздың нөмірін енгізіңіз:») userAnsw = input ()

947361 12
947361 12

Қадам 12. Пайдаланушының жауабының дұрыстығын тексеріңіз

Ол үшін пайдаланушы нөмір енгізген жауап мәтінін алыңыз және оны дұрыс жауап мәтінімен салыстырыңыз. Егер олар бірдей болса, пайдаланушының жауабы дұрыс болды және corrCount айнымалысын 1 -ге көбейту керек. Әйтпесе, бұл қате және пайдаланушыға дұрыс жауапты айту керек. Ақырында, келесі сұраққа бос орын қосу үшін бос жолды басып шығарыңыз. Келесі кодты енгізіңіз:

мүмкін болса [userAnsw-1] == qaItem.corrAnsw: print («Сіздің жауабыңыз дұрыс болды.») corrCount + = 1 басқа: басып шығару («Сіздің жауабыңыз қате.») басып шығару («Дұрыс жауап:» + qaItem. corrAnsw) басып шығару («»)

947361 13
947361 13

13 -қадам Қорытынды жасаңыз

Ақыр соңында, пайдаланушы қанша сұрақ дұрыс қойылғанын білгісі келеді. Сондықтан оларға келесі өрнекті цикл сыртына қосу арқылы айтыңыз:

басып шығару («Сіз жауап бердіңіз» + str (corrCount) + «of» + str (len (qaList)) + «сұрақтарға дұрыс.»)

947361 14
947361 14

Қадам 14. Кодыңызды тексеріңіз

Шегініске ерекше назар аударыңыз. Сіздің толық кодыңыз келесідей болуы керек:

кездейсоқ QA класты импорттау: def _init _ (өзін -өзі, сұрақ, correctAnswer, басқаЖауаптар): self.question = question self.corrAnsw = correctAnswer self.otherAnsw = otherAnswers qaList = [QA («Минск қайда?», «Беларусьте»), [«Ресейде», «мұндай қала жоқ»])), QA («Австралияның астанасы қандай?», «Канберра», [«Сидней», «Нью -Йорк», «Австралия жоқ»)]), QA («Төмендегілердің қайсысы Жерде жоқ?», «Тыныштық теңізі», [«Жерорта теңізі», «Балтық теңізі», «Солтүстік теңіз»]), QA («Төмендегілердің қайсысы жоқ құрлық? «,» Арктика «, [» Антарктида «,» Америка «])), QA (» Төмендегілердің қайсысы Африка еліне жатпайды? «,» Малайзия «, [» Мадагаскар «,» Джибути «,» Оңтүстік «) QaList ішіндегі qaItem үшін «Африка», «Зимбабве»])] corrCount = 0 random.shuffle (qaList): print (qaItem.question) басып шығару («Мүмкін жауаптар:») мүмкін = qaItem.otherAnsw + [qaItem.corrAnsw] # шаршы жақшалар дұрыс жауапты басқа тізіммен байланыстыру үшін тізімге айналдырады. shuffle (мүмкін) count = 0 # тізім индекстері 0 i -ден басталады n python while count <len (мүмкін): басып шығару (str (count + 1) + «:» + мүмкін [count]) count + = 1 print («Жауабыңыздың санын енгізіңіз:») userAnsw = input () while userAnsw.isdigit () емес: print («Бұл сан емес еді. Жауаптың нөмірін енгізіңіз: «) userAnsw = input () userAnsw = int (userAnsw) емес, ал (userAnsw> 0 және userAnsw <= len (мүмкін)): print (» Бұл сан ешқандай жауапқа сәйкес келмейді. Жауап нөмірін енгізіңіз: «) userAnsw = input () мүмкін болса [userAnsw-1] == qaItem.corrAnsw: print (» Сіздің жауабыңыз дұрыс болды. «) CorrCount += 1 басқа: басып шығару (» Сіздің жауабыңыз қате. «) басып шығару (» Дұрыс жауап болды: « + qaItem.corrAnsw) басып шығару» «» басып шығару («Сіз жауап бердіңіз» + str (corrCount) + «» « + str (len (qaList)) +» сұрақтарына дұрыс. «)

947361 15
947361 15

Қадам 15. Кодты іске қосыңыз

Егер сіз IDE қолдансаңыз, «Іске қосу» белгісін немесе мәзір элементін нұқыңыз. Егер сіз мәтіндік редакторды қолдансаңыз, бағдарламаны сақтаңыз, редакторды жабыңыз және Python көмегімен бағдарламаңызды ашыңыз.

Кеңестер

  • Дұрыс шегініске назар аударыңыз. Функция ішіндегі код немесе сынып анықтамасы, цикл ішіндегі код сияқты шегініспен жазылады. Қате шегінісі бар Python бағдарламасы жұмыс істемейді.
  • Егер сіз ойынды тоқтатқыңыз келсе және оны аяқтамасаңыз, Ctrl+C пернелер тіркесімін басыңыз.
  • Егер сіз input () әрбір қоңырауын raw_input () қоңырауына ауыстырсаңыз, бұл бағдарлама Python 2 -де жұмыс істейді, бірақ Python 3 -те жұмысын тоқтатады.

Ұсынылған: