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, որպեսզի կարողանաք այն ստուգել ձեր սեփականի հետ: