1. صفحه اصلی
  2. منابع
  3. اولین پروژه پایتون برای نوجوانان: ساخت مسابقه ریاضی
برنامه‌نویسی

اولین پروژه پایتون شما: مسابقه ضرب در 25 خط

بین 12 تا 17 سال دارید و می‌خواهید بدانید برنامه‌های واقعی چطور ساخته می‌شوند؟ در این راهنما پایتون را نصب می‌کنید (یا از یک ویرایشگر آنلاین استفاده می‌کنید)، با متغیرها، input، شرط‌ها و حلقه‌ها آشنا می‌شوید و بعد یک بازی کوچک کامل می‌نویسید: مسابقه‌ای که 5 سؤال ضرب تصادفی از شما می‌پرسد و امتیازتان را نگه می‌دارد. والدین هم می‌توانند همراه شوند، بدون نیاز به هیچ تجربه قبلی.

نوشته Reza Abtahian·8 دقیقه مطالعه·به‌روزرسانی: 3 اکتبر 2026
اولین پروژه پایتون برای نوجوانان: ساخت مسابقه ریاضی

چرا با پایتون شروع کنیم

پایتون یک زبان برنامه‌نویسی رایگان است که تقریباً مثل انگلیسی ساده خوانده می‌شود. خبری از آکولادهای همه‌جا و نقطه‌ویرگول در پایان هر خط نیست: تورفتگی (فاصله در ابتدای خط) است که کد را مرتب می‌کند. سایت رسمی حتی یک صفحه پایتون برای مبتدیان با منابع یادگیری دارد.

از پایتون هم برای بازی‌های کوچک استفاده می‌شود، هم برای تحلیل داده و هم برای هوش مصنوعی؛ پس آنچه اینجا یاد می‌گیرید همچنان به کارتان می‌آید، چه در درس علوم دبیرستان، چه در سژپ و چه در پروژه‌های شخصی‌تان.

مرحله 1: Thonny را نصب کنید یا از یک ویرایشگر آنلاین استفاده کنید

دو راه دارید:

  • روی کامپیوتر ویندوز، مک یا لینوکس: Thonny را نصب کنید، یک ویرایشگر رایگان که برای مبتدیان طراحی شده است. پایتون همراه آن نصب می‌شود، پس فقط به یک نصب‌کننده نیاز دارید. یک اشکال‌زدای گام‌به‌گام هم دارد که هنگام اجرای برنامه مقدار متغیرهایتان را نشان می‌دهد و برای فهمیدن اتفاقاتی که می‌افتد عالی است.
  • روی تبلت، Chromebook یا کامپیوتری که نمی‌توانید چیزی رویش نصب کنید: از یک ویرایشگر آنلاین رایگان پایتون استفاده کنید. مطمئن شوید که از input() پشتیبانی می‌کند (وگرنه مسابقه نمی‌تواند از شما سؤال بپرسد)، و از پدر یا مادرتان بپرسید که آیا ثبت‌نام در آن حداقل سن دارد یا نه.

در Thonny، کدتان را در بخش بزرگ بالای صفحه تایپ می‌کنید، آن را ذخیره می‌کنید (مثلاً با نام quiz.py) و برای اجرا روی دکمه مثلث سبز کلیک می‌کنید (یا F5 را می‌زنید). خروجی و سؤال‌ها در پوسته (shell) پایین صفحه ظاهر می‌شوند.

مرحله 2: چهار ایده‌ای که لازم دارید

  • متغیرها جعبه‌هایی برچسب‌دار هستند. score = 0 جعبه‌ای به نام score می‌سازد که عدد 0 در آن است. علامت = یعنی «این مقدار را در جعبه بگذار»، نه «مساوی است با».
  • input() یک سؤال نشان می‌دهد و منتظر می‌ماند تا کاربر چیزی تایپ کند. دقت کنید: چیزی که برمی‌گردد همیشه متن است، حتی اگر کاربر یک عدد تایپ کند.
  • if، elif، else به برنامه اجازه می‌دهند تصمیم بگیرد. برای مقایسه دو مقدار از == (دو علامت مساوی) استفاده می‌کنید و خط‌هایی که به شرط وابسته‌اند با 4 فاصله تورفتگی دارند.
  • حلقه‌ها دستورها را تکرار می‌کنند. for number in range(1, 6): بلوک را 5 بار اجرا می‌کند و number به ترتیب 1، 2 و همین‌طور تا 5 می‌شود (6 حساب نمی‌شود). آموزش رسمی پایتون این ابزارها را به‌طور کامل توضیح می‌دهد.

مرحله 3: برنامه کامل

این کد را دقیقاً همان‌طور که نوشته شده، با حفظ تورفتگی‌ها، در Thonny یا ویرایشگر آنلاینتان کپی کنید. قبل از خواندن توضیحات، آن را اجرا کنید و یک دور بازی کنید.

import random

print("به مسابقه جدول ضرب خوش آمدید!")
name = input("اسم شما چیست؟ ")
score = 0
num_questions = 5

for number in range(1, num_questions + 1):
    a = random.randint(2, 12)
    b = random.randint(2, 12)
    correct_answer = a * b
    answer = input(f"سؤال {number}: {a} x {b} چند می‌شود؟ ")
    if answer.strip() == str(correct_answer):
        print("آفرین، درست است!")
        score = score + 1
    else:
        print(f"اوه! جواب درست {correct_answer} بود.")

print(f"{name}، امتیاز نهایی شما {score} از {num_questions} است.")
if score == num_questions:
    print("امتیاز کامل، آفرین!")
elif score >= 3:
    print("کارتان عالی بود، ادامه دهید!")
else:
    print("به تمرین ادامه دهید، بهتر می‌شوید!")

مرحله 4: توضیح خط به خط

خطچه کاری انجام می‌دهد
1import random ماژول random را بارگذاری می‌کند که اعداد تصادفی تولید می‌کند.
3print() یک پیام خوشامد نمایش می‌دهد.
4برنامه اسم شما را می‌پرسد و آن را در متغیر name ذخیره می‌کند.
5 و 6امتیاز از 0 شروع می‌شود و تعداد سؤال‌ها 5 تعیین می‌شود. برای مسابقه طولانی‌تر، این 5 را تغییر دهید.
8حلقه خط‌های تورفته زیر خودش را، برای هر سؤال یک بار، تکرار می‌کند.
9 و 10random.randint(2, 12) یک عدد صحیح از 2 تا 12 انتخاب می‌کند که هر دو سر بازه را شامل می‌شود (مستندات ماژول random را ببینید).
11جواب درست را حساب می‌کنیم. در پایتون، ضرب با * نوشته می‌شود.
12متنی که با f شروع می‌شود یک f-string است: متغیرهای داخل آکولاد با مقدارشان جایگزین می‌شوند و چیزی مثل «7 x 8 چند می‌شود؟» به دست می‌آید.
13چون input() متن برمی‌گرداند، جواب درست را پیش از مقایسه با str() به متن تبدیل می‌کنیم. .strip() هر فاصله‌ای را که اشتباهی قبل یا بعد از عدد تایپ شده حذف می‌کند.
14 و 15اگر جواب درست باشد، به بازیکن تبریک می‌گوییم و 1 به امتیاز اضافه می‌کنیم.
16 و 17در غیر این صورت (else)، جواب درست را نشان می‌دهیم تا بازیکن از اشتباهش یاد بگیرد.
19بعد از حلقه (این خط دیگر تورفتگی ندارد)، امتیاز نهایی را چاپ می‌کنیم.
20 تا 25سه پیام متفاوت بسته به امتیاز: کامل، 3 یا بیشتر (>= یعنی «بزرگ‌تر یا مساوی»)، یا کمتر از 3.

چرا از int(answer) برای تبدیل جواب به عدد استفاده نکنیم؟ آن هم کار می‌کند، اما اگر کسی یک حرف تایپ کند، برنامه با خطای ValueError متوقف می‌شود. مقایسه متن با متن از این مشکل جلوگیری می‌کند: یک حرف به‌سادگی جواب غلط حساب می‌شود.

وقتی کار نمی‌کند: رایج‌ترین خطاها

  • IndentationError: یک تورفتگی جا افتاده یا هم‌تراز نیست. همه خط‌های داخل یک for یا یک if باید به یک اندازه تورفتگی داشته باشند.
  • SyntaxError: اغلب به خاطر جا افتادن دونقطه در پایان خط for، if، elif یا else، یا گیومه‌ای که هرگز بسته نشده است.
  • NameError: نام متغیری که اشتباه نوشته شده است. از نظر پایتون، Score و score دو متغیر متفاوت‌اند.
  • یک = تنها داخل if: برای مقایسه دو تا لازم است.

کل پیام خطا را بخوانید: شماره خطی را که مشکل در آن رخ داده به شما می‌گوید. اشکال‌زدای Thonny هم می‌تواند برنامه‌تان را خط به خط اجرا کند.

3 ایده برای ارتقای مسابقه‌تان

  1. سطح دشواری انتخاب کنید. در ابتدا با input() بپرسید «آسان یا سخت؟». با یک if عدد 5 یا 12 را در متغیری به نام maximum ذخیره کنید، سپس بنویسید random.randint(2, maximum).
  2. زمان‌سنج اضافه کنید. ماژول time به شما اجازه می‌دهد اندازه بگیرید که هر دور چند ثانیه طول کشید:
    import time
    
    start = time.time()
    # ... حلقه سؤال‌ها ...
    elapsed = round(time.time() - start)
    print(f"زمان کل: {elapsed} ثانیه")
  3. عملیات را مخلوط کنید. با random.choice(["+", "-", "x"])، برنامه یک عملیات تصادفی انتخاب می‌کند. بعد به یک if نیاز دارید تا جواب درست را برای عملیاتی که انتخاب شده حساب کنید. چالش جایزه‌دار: چطور می‌توانید از جواب‌های منفی در تفریق جلوگیری کنید؟

قدم بعدی چیست؟

برنامه‌نویسی و ریاضی دست در دست هم پیش می‌روند: حلقه‌ها، شرط‌ها و اعداد تصادفی همه‌جا دیده می‌شوند، از احتمال در دبیرستان تا آمار در سژپ. برای پیشرفت بیشتر، نگاهی به دوره هوش مصنوعی ما بیندازید، و پیش از اینکه از یک چت‌بات بخواهید کدتان را برایتان بنویسد، راهنمای ما درباره مطالعه با هوش مصنوعی بدون تقلب را بخوانید.

اگر برای برنامه‌نویسی یا ریاضی کمک فردی می‌خواهید، Stellaire Académie تدریس خصوصی ارائه می‌دهد: یک جلسه رزرو کنید.

پرسش‌های متداول

بچه‌ها از چه سنی می‌توانند یادگیری پایتون را شروع کنند؟

بسیاری از نوجوانان حدود 12 سالگی شروع می‌کنند، وقتی در خواندن و تایپ کردن راحت هستند. کنجکاوی و حوصله برای رفع اشتباه‌ها از سن مهم‌تر است.

آیا برای کدنویسی باید در ریاضی قوی بود؟

نه، دست‌کم برای شروع لازم نیست. کدنویسی تفکر منطقی را تقویت می‌کند و این مسابقه نشان می‌دهد که یک پروژه ساده می‌تواند به تمرین جدول ضرب هم کمک کند.

Thonny یا ویرایشگر آنلاین: کدام را انتخاب کنم؟

اگر می‌توانید روی کامپیوترتان نرم‌افزار نصب کنید Thonny، چون بدون اینترنت کار می‌کند و اشکال‌زدایش به فهم کدتان کمک می‌کند. ویرایشگر آنلاین روی Chromebook یا در مدرسه به کار می‌آید.

کمک شخصی می‌خواهید؟ تماس اول رایگان است.

رزرو تماس رایگان
رزرو تماس رایگان