پروژههای پایتون که بچهها واقعاً میخواهند تکمیل کنند
راهنمای عملی برای پروژههای پایتون برای بچهها، با کد شروع واقعی و نکاتی درباره انتخاب پروژههایی که توجه را فراتر از ده دقیقه اول حفظ میکند.
بیشتر مواد "یادگیری پایتون برای بچهها" از درسهای نحو شروع میکنند قبل از اینکه چیزی سرگرمکننده اتفاق بیفتد. بچهها تا درس دوم علاقهشان را از دست میدهند زیرا چیزی برای نشان دادن نیست. راهحل این است که ترتیب را معکوس کنید: ابتدا یک پروژه کوچک انتخاب کنید، سپس فقط پایتون لازم برای ساخت آن را تدریس کنید. در اینجا ایدههای پروژهای است که با بچههای 9 تا 14 ساله کار میکند و واقعاً تکمیل میشود.
بازی حدس اعداد اصول را بدون خستهکننده بودن تدریس میکند
این راهحل کلاسیک به دلیلی است. از متغیرها، input()، while loop، و if/else استفاده میکند، و تمام آن کمتر از 15 خط است:
import random
secret = random.randint(1, 20)
guess = 0
while guess != secret:
guess = int(input("Guess a number between 1 and 20: "))
if guess < secret:
print("Too low!")
elif guess > secret:
print("Too high!")
print("You got it!")
هنگامی که اجرا میشود، به بچه اجازه دهید یک شماردهندهی حدس یا یک سیستم اشاره بگذارد ("گرمتر میشود"). این بار دوم جایی است که یادگیری واقعی اتفاق میافتد، زیرا آنها کد را ویرایش میکنند که قبلاً متوجه آن بودند به جای تایپ کردن از یک آموزش.
گرافیک Turtle loop ها را به چیزی قابل دیدار تبدیل میکند
ماژول turtle داخلی پایتون اشکال را روی صفحه رسم میکند، و این سریعترین راه برای اینکه loop ها مفید به نظر برسند به جای انتزاعی است. یک for loop پنج خطی که ستاره یا مارپیچ رسم میکند، واکنش بسیار بیشتری نسبت به یک print statement دارد.
import turtle
t = turtle.Turtle()
for i in range(36):
t.forward(100)
t.right(170)
turtle.done()
تغییر زاویه از 170 به 144 یا 90 شکل کاملاً متفاوتی تولید میکند، که برای آزمایش خوب "حدس بزن چه اتفاقی میافتد" بهوجود میآورد. نحو جدیدی لازم نیست — فقط تغییر اعداد و مشاهده نتایج، که اساساً در هر سطح برنامهنویسی است.
Mad Libs و متنهای ماجرایی مدیریت رشتهها را طبیعی تدریس میکند
تولیدکننده Mad Libs فقط به input() و f-strings نیاز دارد، اما ایدهی اینکه برنامهها میتوانند دادههای کاربر را بگیرند و آن را به چیزی جدید تبدیل کنند را معرفی میکند:
noun = input("Give me a noun: ")
adjective = input("Give me an adjective: ")
verb = input("Give me a verb: ")
print(f"The {adjective} {noun} decided to {verb} across the kitchen.")
از آنجا، یک ماجرای متنی ساده گام طبیعی بعدی است — فرهنگ لغت اتاقها، هر کدام با توصیفی و مجموعهای از خروجیها، با پیمایش while loop که دستورات بازیکن را میخواند. اینجایی است که بچهها شروع به درک فرهنگ لغت و توابع میکنند زیرا پروژه نیاز به آن دارد، نه زیرا یک کاغذ کاری گفت.
بازی کوئیز یا برنامه flashcard list ها و dictionary ها را واضح میکند
ساخت بازی کوئیز که سؤالات و پاسخها را در list فرهنگ لغت ذخیره میکند دلیل ملموس برای یادگیری آن ساختار دادهای میدهد:
questions = [
{"q": "What is 7 x 8?", "a": "56"},
{"q": "Capital of France?", "a": "Paris"},
]
score = 0
for item in questions:
answer = input(item["q"] + " ")
if answer.strip().lower() == item["a"].lower():
score += 1
print("Correct!")
else:
print(f"Nope, it was {item['a']}.")
print(f"Score: {score}/{len(questions)}")
به بچه اجازه دهید مجموعه سؤالات خود را درباره موضوعی که واقعاً برای آنها اهمیت دارد بنویسد — آمار Pokémon، بازیکنان فوتبال، هر چیزی. کد یکسان میماند؛ فقط محتوا تغییر میکند، و این مالکیت بسیار بیشتر از آنچه اکثر مردم انتظار دارند اهمیت دارد.
Pygame پروژه پاداش است هنگامی که اصول چسبیده باشند
هنگامی که loop ها، شرطها، و توابع طبیعی به نظر برسند، Pygame گام طبیعی بعدی برای ساخت یک بازی واقعی با گرافیکس، حرکت، و تشخیص برخورد است. کوچک شروع کنید: یک مربع تنها که توسط کلیدهای جهتنما کنترل میشود، در اطراف یک پنجره حرکت میکند. از خواسته برای پرش مستقیم به یک platformer کامل خودداری کنید — بیشتر بچهها (و صادقانه بیشتر بزرگسالان) Pygame را کنار میگذارند زیرا اولین پروژه بیش از حد پرجاه بود. یک
با کمک هوش مصنوعی نوشتهشده، بازبینی و منتشرشده توسط Michal Pilch (CISSP)، Korra Studio.
این یکی از یادداشتهای پایگاه دانش Korra Studio است — پلتفرم هر موضوع را با مربی یکبهیک جفت میکند.
شروع رایگانarrow_forward