Python ծրագրավորում սկսնակների համար. Եկեք կառուցենք պարզ վիկտորինայի հավելված


Python ծրագրավորումը սկսնակների համար պետք է զվարճալի լինի: Որպես մեկը, ով սիրում է պատահական մանրուքներ և խաղեր, վիկտորինայի հավելված ստեղծելը մանրուքների գիշերվա համար զվարճալի և հուզիչ միջոց է Python-ում որոշ հետաքրքիր հասկացություններ սովորելու համար: Տեսնենք, թե ինչ է անհրաժեշտ այս հավելվածը ստեղծելու համար:

Սկսեք Python ծրագրավորումը սկսնակների համար

Python-ը աշխարհի ամենաշատ օգտագործվող լեզուներից է, և դա հեշտ մեկնարկային կետ է սկսնակների համար: Դա այնքան հեշտ գործիք է, որ մենք արդեն ստեղծել ենք պարզ անելիքների ցուցակ Python-ում՝ լրացված տարրեր ավելացնելով և հեռացնելով: Այս նախագիծը մի փոքր ավելի բարդ է լինելու, բայց մենք ունենք նույն մեկնարկային քայլերը։

Եթե դուք չեք ներբեռնել և կարգավորել ձեր IDE-ն, ապա դա համեմատաբար պարզ է: Օգտատերերի մեծ մասն աշխատում է Python-ը Windows-ի կամ Linux-ի վրա, բայց կա նաև Mac-ի տարբերակ: Եթե վստահ չեք, թե արդյոք ունեք Python ձեր համակարգում, կարող եք ստուգել տարբերակը հրամանի տողում: Տարբերակի համարը ձեզ կասի, թե արդյոք ունեք Python և լեզվի որ տարբերակը եք տեղադրել:

Ես օգտագործում եմ Python-ը Windows-ի համար, և ես արդեն ներկայացրել եմ մանրամասներ, թե ինչպես կարգավորել Python-ը իմ նախընտրած IDE-ով (Visual Studio): Թարմացման համար հետևյալ քայլերն են.

  • Տեղադրեք Python-ը ձեր օպերացիոն համակարգի համար:
  • Տեղադրեք ձեր IDE-ն (Visual Studio, իմ դեպքում):
  • Ստուգեք տարբերակը՝ համոզվելու համար, որ ձեր Python-ը ճիշտ է տեղադրված:
  • Սկսեք նոր նախագիծ։

Այժմ, երբ մենք ավարտել ենք հիմնական կարգավորումը, կարող ենք անցնել իրականում հավելվածի ստեղծմանը:

Ստեղծելով մեր հատուկ հարցերի կառուցվածքը

Քանի որ սա վիկտորինայի ծրագիր է, մեզ անհրաժեշտ կլինի ինչ-որ բան պահել մեր հարցերն ու պատասխանները: Դրա համար մենք կստեղծենք հատուկ հարցի կառուցվածք այս ձևաչափով.

"question": <insert question here>,
"options": [<comma-separated list of strings>],
"correct_answer": <string from the list that corresponds to the right answer>

Այդ նպատակով մենք կկազմենք հինգ հարցից բաղկացած թեստային մահճակալ, որտեղից մենք պատահականորեն կկազմավորենք դրանց հայտնվելու հերթականությունը.

# Quiz questions
questions = [
    {
        "question": "What is the capital of France?",
        "options": ["London", "Berlin", "Paris", "Madrid"],
        "correct_answer": "Paris"
    },
    {
        "question": "Which planet is known as the Red Planet?",
        "options": ["Mars", "Venus", "Jupiter", "Saturn"],
        "correct_answer": "Mars"
    },
    {
        "question": "What is the chemical symbol for Potassium?",
        "options": ["P", "Po", "K", "Li"],
        "correct_answer": "K"
    },
    {
        "question": "What year was Abraham Lincoln born?",
        "options": ["1909", "1811", "1809", "1776"],
        "correct_answer": "1809"
    },
    {
        "question": "What is the geographical name for a rainforest?",
        "options": ["Taiga", "Badlands", "Selvas", "Hardpan"],
        "correct_answer": "Selvas"
    }
]

Այս տեսակի կառուցվածքը կոչվում է բառարան: Ցանկացած ծրագրավորման լեզվով բառարանները բանալի-արժեք զույգերի հավաքածուներ են: Դուք կարող եք գտնել որոշակի բանալու հետ կապված արժեքը՝ բառարանում փնտրելով այդ բանալին:

Մենք նաև պետք է ներմուծենք պատահական գրադարանը, որը թույլ կտա մեզ խառնել հարցերի զանգվածը: Դա անելու համար մենք կներառենք այս տողը մեր կոդի վերևում.

import random

Ներմուծման հիմնաբառը մեզ հնարավորություն է տալիս «ներդնել» մեզ անհրաժեշտ ցանկացած գրադարան: Այս դեպքում մենք կներմուծենք պատահական գրադարանը, որը պարունակում է օգտակար գործառույթներ՝ ցուցակներն ու զանգվածները պատահականացնելու համար: Այսպիսի կոդի կրկնակի օգտագործումը Python-ի ամենահզոր մասերից մեկն է: Եթե ինչ-որ բանի կարիք ունեք, հավանաբար ինչ-որ տեղ կա գրադարան այն գործառույթով, որը դուք փնտրում եք:

Հարցի ցուցադրում և պատասխան ստանալու համար

Այժմ, երբ մենք որոշեցինք մեր տված հարցերը, մենք պետք է հասկանանք, թե ինչպես ցույց տալ օգտվողին այդ հարցերը և ստանալ պատասխան նրանցից: Դրա համար մենք կսահմանենք երկու գործառույթ.

#Function for displaying the questions to the screen
def display_question(question):
    print(question["question"])
    for i, option in enumerate(question["options"], 1):
        print(f"{i}. {option}")
#Function for getting user input
def get_user_answer():
    while True:
        try:
            choice = int(input("Enter your answer (1-4): "))
            if 1 <= choice <= 4:
                return choice - 1
            else:
                print("Please enter a number between 1 and 4.")
        except ValueError:
            print("Invalid input. Please enter a number.")

Եկեք առանձին-առանձին ուսումնասիրենք այս գործառույթները և որոշենք դրանց նպատակը: Display_question() ֆունկցիան կվերցնի հարցը, դուրս կբերի այն էկրանին և կտպագրի ընտրանքները և յուրաքանչյուրի համարի արժեքը: Get_user_answer() ֆունկցիան կհավաքի օգտատիրոջ պատասխանը և կհամեմատի այն ճիշտ պատասխանի հետ, որը սահմանված է ավելի վաղ մեր կողմից առաջադրված հարցերում:

Get_user_answer ֆունկցիան կկատարի նաև որոշ հիմնական սխալների ստուգում: Եթե օգտատերը թվից բացի այլ բան է մուտքագրում կամ համարը ընտրության սահմաններից դուրս է, մենք նորից կհուշենք նրան պատասխանի համար:

Վիկտորինայի ձևավորում

Այժմ, երբ մենք ունենք հարցեր և պատասխաններ հուշելու միջոց, մենք պետք է պատահականորեն դասավորենք հարցերը և թույլ տանք խաղացողին պատասխանել յուրաքանչյուրին: Դրա համար մենք կնախագծենք մի ֆունկցիա, որը կոչվում է run_quiz():

#Running the Quiz from start to end
def run_quiz():
    score = 0
    total_questions = len(questions)
    
    random.shuffle(questions)
    
    for question in questions:
        display_question(question)
        user_choice = get_user_answer()
        
        if question["options"][user_choice] == question["correct_answer"]:
            print("Correct!")
            score += 1
        else:
            print(f"Sorry, that's incorrect. The correct answer is: {question['correct_answer']}")
        
        print() # Add a blank line for readability
    
    print(f"Quiz complete! You scored {score} out of {total_questions}.")
    percentage = (score / total_questions) * 100
    print(f"Your score: {percentage:.2f}%")

Այս ֆունկցիայի մեջ մենք սահմանել ենք միավորի փոփոխական, որը մենք կօգտագործենք՝ որոշելու խաղացողի հաջողությունը մեր վիկտորինայի ժամանակ: Հաջորդը, դուք կնկատեք random.shuffle(հարցեր) տողը, որը կփոխի այն հերթականությունը, որով ծրագիրը օգտատերին հարցեր է տալիս: Շատ համընկնումներ կլինեն, երբ մենք ունենանք ընդամենը հինգ նման հարց: Այնուամենայնիվ, երբ դուք սկսեք ներառել տասնյակ հարցեր, հավանականությունը մեծ է, որ որևէ կերպ հնարավոր չի լինի կանխատեսել, թե ինչ հերթականությամբ են տրվելու հարցերը:

For-ի օղակը անցնում է մեր զանգվածի յուրաքանչյուր հարցով՝ հարցնում և սպասում է պատասխանի: Եթե խաղացողը ճիշտ է ստանում հարցը, նրանց միավորը մեծանում է: Եթե նրանք սխալ են հասկանում, նրանց հուշում է ճիշտ պատասխանը, այնպես որ նրանք կսովորեն հաջորդ անգամ: Երբ մենք ավարտում ենք վիկտորինան, ծրագիրը տպում է վերջնական միավորը, որը օգտվողը ստացել է ճիշտ՝ որպես հարցերի ընդհանուր թվի տոկոս:

Խաղի հանգույցի կառուցում

Բոլոր խաղերը պահանջում են խաղի հանգույց: Այս դեպքում մեր հիմնական խաղի հանգույցը կլինի մեր main() ֆունկցիան.

#The Main Game Loop
def main():
    while True:
        print("Welcome to the Python Quiz Game!")
        run_quiz()
        
        play_again = input("Would you like to play again? (yes/no): ").lower()
        if play_again != 'yes':
            print("Thanks for playing! Goodbye!")
            break
if __name__ == "__main__":
    main()

Այս գործառույթը կներառի մեր ամբողջ վիկտորինան և խաղացողին կհարցնի, թե արդյոք նրանք ցանկանում են նորից խաղալ: Եթե նրանք չանեն, այն դուրս կգա խաղից: Եթե անեն, դա կվերադասավորի հարցերը և նորից կհարցնի դրանք:

Ամեն ինչ միասին դնելը

Մենք կարող ենք վիկտորինան վարել, երբ մենք գրել և պահպանել ենք մեր ամբողջ կոդը: Visual Studio-ն ունի հարմար «Run» կոճակ, որը ես օգտագործում եմ իմ վիկտորինայի խաղը սկսելու համար: Արդյունքները տպավորիչ են.

Մենք նույնիսկ ունենք ուղղումներ, եթե պատասխանը սխալ է, և վերջնական հաշվարկ միավորի համար.

Թվում է, թե ամեն ինչ աշխատում է այնպես, ինչպես սպասվում էր, այնպես որ մենք շտկելու սխալներ չունենք: Շնորհավորում ենք ձեր սեփական Python Quiz Game նախագիծն ավարտելու կապակցությամբ:

Թարմացումներ, բարելավումներ և մարտահրավերներ

Սա պարզ վիկտորինայի խաղ է. հինգ հարցերն այնքան էլ հուզիչ չեն: Եթե ցանկանում եք ընդլայնել նախագիծը, ահա մի քանի մարտահրավեր, որոնք կարող եք փորձել, որոնք այնքան էլ բարդ չեն, բայց սա ավելի հաճելի փորձ կդարձնեն խաղացողի համար.

  • Ավելացրե՛ք հարցերի քանակը. որքան շատ հարցեր ունենաք, այնքան ավելի դժվար կլինի խաղը խաղացողի համար:
  • Ընտրեք հարցերի պատահական ենթաբազմություն. Բոլոր հարցերը անընդհատ տալու փոխարեն ընտրեք հարցերի ենթաբազմություն և տվեք դրանք: Սա թույլ է տալիս ավելի շատ կրկնել, քանի որ խաղացողը չգիտի, թե հաջորդ անգամ ինչ հարցեր կստանան:
  • Նախագծեք ավելի հարմար ինտերֆեյս. Տերմինալը հասանելի է սկսնակների համար Python-ի ծրագրավորման մեջ կիրառելու համար, սակայն իրական UI հավաքելը շատ ավելի հեշտ է, քան դուք կարող եք պատկերացնել:

Ուր գնալ այստեղից

Եթե դուք փնտրում եք Python-ի ավելի լիարժեք ցուցադրվող ուղեցույց, դուք պետք է ստուգեք հավելվածները և կայքերը, որոնք օգնում են նոր մշակողներին: Ծրագրավորման լավագույն բաներից մեկն այն է, որ կարիք չկա որևէ մեկի օրինակին հետևել: Դուք պարզապես կարող եք սովորել, երբ գնում եք: Յուրաքանչյուր սովորած բան կարող է օգտագործվել ձեր կարիերայի ինչ-որ պահի:

Ես վերբեռնել եմ այս վիկտորինային խաղի ամբողջական կոդը GitHub, որպեսզի կարողանաք այն ստուգել ձեր սեփականի հետ: