📚 آموزش آرایه یکبعدی در پایتون با ۵ پروژه جذاب برای نوجوانان
📌 آرایه یکبعدی چیست؟
آرایه یکبعدی در پایتون همان لیست (List) است. لیست محلی برای ذخیره چند مقدار پشت سر هم است.
اسم_آرایه = [مقدار۱, مقدار۲, مقدار۳]
# مثال:
نمرات = [۱۸, ۱۵, ۱۹, ۱۴, ۱۷]
شرح: نمرات ۵ دانشآموز را بگیر و میانگین، بالاترین و پایینترین نمره را نشان بده.
print(“📊 پروژه میانگین نمرات کلاس”)
نمرات = []
# دریافت نمرات
for i in range(5):
نمره = float(input(f”نمره دانشآموز {i+1}: “))
نمرات.append(نمره)
# محاسبات
میانگین = sum(نمرات) / len(نمرات)
بیشترین = max(نمرات)
کمترین = min(نمرات)
# نمایش نتایج
print(f”\n📋 لیست نمرات: {نمرات}”)
print(f”⭐ میانگین نمرات: {میانگین:.۲f}”)
print(f”🏆 بیشترین نمره: {بیشترین}”)
print(f”📉 کمترین نمره: {کمترین}”)
📊 پروژه میانگین نمرات کلاس
نمره دانشآموز ۱: ۱۷
نمره دانشآموز ۲: ۱۹
نمره دانشآموز ۳: ۱۴
نمره دانشآموز ۴: ۱۸
نمره دانشآموز ۵: ۱۶
📋 لیست نمرات: [۱۷٫۰, ۱۹٫۰, ۱۴٫۰, ۱۸٫۰, ۱۶٫۰]
⭐ میانگین نمرات: ۱۶٫۸۰
🏆 بیشترین نمره: ۱۹٫۰
📉 کمترین نمره: ۱۴٫۰
شرح: یک آرایه از اعداد بساز و کاربر باید عدد گنج را پیدا کند.
import random
print(“🎯 بازی شکارچی گنج”)
# ساخت گنج با اعداد تصادفی
گنج = [random.randint(1, 50) for _ in range(10)]
عدد_گنج = random.choice(گنج)
print(“یک عدد در آرایه پنهان شده! پیدا کن!”)
# نمایش آرایه (اختیاری – برای سختی کمتر)
print(f”آرایه: {گنج}”)
حدس = int(input(“حدس بزن کدوم عدد تکرار داره؟ “))
if حدس == عدد_گنج:
print(f”🎉 آفرین! گنج رو پیدا کردی! عدد {حدس}”)
else:
print(f”💀 باختی! گنج عدد {عدد_گنج} بود”)
# پیدا کردن اندیس گنج
for i, مقدار in enumerate(گنج):
if مقدار == عدد_گنج:
print(f”📍 گنج در خانه {i} (اندیس) قرار داشت”)
🎯 بازی شکارچی گنج
یک عدد در آرایه پنهان شده! پیدا کن!
آرایه: [۲۳, ۴۵, ۱۲, ۴۵, ۷, ۳۱, ۴۵, ۱۹, ۸, ۴۵]
حدس بزن کدوم عدد تکرار داره؟ ۴۵
🎉 آفرین! گنج رو پیدا کردی! عدد ۴۵
📍 گنج در خانه ۱ (اندیس) قرار داشت
شرح: مخارج ۷ روز هفته را ثبت کن و مجموع و روز پرهزینه را بگو.
print(“💰 مدیریت مخارج روزانه”)
مخارج = []
روزها = [“شنبه”, “یکشنبه”, “دوشنبه”, “سهشنبه”, “چهارشنبه”, “پنجشنبه”, “جمعه”]
for روز in روزها:
مبلغ = float(input(f”مخارج {روز}: “))
مخارج.append(مبلغ)
# محاسبات
مجموع = sum(مخارج)
میانگین = مجموع / ۷
روز_پرهزینه = روزها[مخارج.index(max(مخارج))]
print(f”\n📅 لیست مخارج هفتگی: {مخارج}”)
print(f”💵 مجموع مخارج: {مجموع:,.۰f} تومان”)
print(f”📊 میانگین روزانه: {میانگین:,.۰f} تومان”)
print(f”⚠️ روز پرهزینه: {روز_پرهزینه} با {max(مخارج):,.۰f} تومان”)
# چند روز بیشتر از میانگین؟
بالاتر = sum(1 for م in مخارج if م > میانگین)
print(f”📈 {بالاتر} روز بیش از میانگین خرج کردی”)
💰 مدیریت مخارج روزانه
مخارج شنبه: ۲۵۰۰۰۰
مخارج یکشنبه: ۱۸۰۰۰۰
مخارج دوشنبه: ۳۵۰۰۰۰
مخارج سهشنبه: ۱۲۰۰۰۰
مخارج چهارشنبه: ۲۰۰۰۰۰
مخارج پنجشنبه: ۴۲۰۰۰۰
مخارج جمعه: ۳۰۰۰۰۰
📅 لیست مخارج هفتگی: [۲۵۰۰۰۰٫۰, ۱۸۰۰۰۰٫۰, ۳۵۰۰۰۰٫۰, ۱۲۰۰۰۰٫۰, ۲۰۰۰۰۰٫۰, ۴۲۰۰۰۰٫۰, ۳۰۰۰۰۰٫۰]
💵 مجموع مخارج: ۱,۸۲۰,۰۰۰ تومان
📊 میانگین روزانه: ۲۶۰,۰۰۰ تومان
⚠️ روز پرهزینه: پنجشنبه با ۴۲۰,۰۰۰ تومان
📈 ۳ روز بیش از میانگین خرج کردی
شرح: کارهای روزانه را اولویتبندی کن و به ترتیب نمایش بده.
print(“✅ مدیریت اولویت کارها”)
کارها = []
print(“5 کار مهمت رو وارد کن (به ترتیب اولویت از ۱ تا ۵):”)
for i in range(5):
کار = input(f”کار {i+1}: “)
کارها.append(کار)
# مرتبسازی دستی (مرتبسازی حبابی ساده)
for i in range(len(کارها)):
for j in range(i+1, len(کارها)):
if len(کارها[i]) < len(کارها[j]): # بر اساس طول اسم
کارها[i], کارها[j] = کارها[j], کارها[i]
print(“\n📋 لیست کارها: (از مهمتر به کماهمیت)”)
for شماره, کار in enumerate(کارها, ۱):
print(f”{شماره}. {کار}”)
# مرتبسازی معکوس
کارها.reverse()
print(“\n🔂 مرتبسازی معکوس (کماهمیت به مهم):”)
print(کارها)
✅ مدیریت اولویت کارها
۵ کار مهمت رو وارد کن (به ترتیب اولویت از ۱ تا ۵):
کار ۱: درس خوندن
کار ۲: ورزش کردن
کار ۳: بازی کامپیوتر
کار ۴: کمک به مامان
کار ۵: خوابیدن
📋 لیست کارها: (از مهمتر به کماهمیت)
۱٫ بازی کامپیوتر
۲٫ کمک به مامان
۳٫ درس خوندن
۴٫ ورزش کردن
۵٫ خوابیدن
🔂 مرتبسازی معکوس (کماهمیت به مهم):
[‘خوابیدن’, ‘ورزش کردن’, ‘درس خوندن’, ‘کمک به مامان’, ‘بازی کامپیوتر’]
شرح: از آرایه حروف و اعداد استفاده کن تا رمزهای تصادفی بسازی.
import random
print(“🔐 ژنراتور رمز عبور قوی”)
# آرایههای مختلف
حروف_کوچک = [‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’, ‘h’, ‘i’, ‘j’]
حروف_بزرگ = [‘A’, ‘B’, ‘C’, ‘D’, ‘E’, ‘F’, ‘G’, ‘H’, ‘I’, ‘J’]
اعداد = [‘۰’, ‘۱’, ‘۲’, ‘۳’, ‘۴’, ‘۵’, ‘۶’, ‘۷’, ‘۸’, ‘۹’]
علامتها = [‘!’, ‘@’, ‘#’, ‘$’, ‘%’, ‘&’, ‘*’]
# ترکیب همه آرایهها
همه_چیز = حروف_کوچک + حروف_بزرگ + اعداد + علامتها
print(f”✅ {len(همه_چیز)} کاراکتر مختلف آماده است”)
تعداد = int(input(“چند تا رمز میخوای بسازی؟ “))
طول = int(input(“طول هر رمز چند باشه؟ “))
رمزها = []
for i in range(تعداد):
رمز = ”.join(random.choice(همه_چیز) for _ in range(طول))
رمزها.append(رمز)
print(f”\n🔑 رمزهای ساخته شده:”)
for شماره, رمز in enumerate(رمزها, ۱):
print(f”{شماره}. {رمز}”)
# نمایش آرایه اصلی
print(f”\n📦 آرایه اصلی کاراکترها:\n{همه_چیز}”)
🔐 ژنراتور رمز عبور قوی
✅ ۳۷ کاراکتر مختلف آماده است
چند تا رمز میخوای بسازی؟ ۳
طول هر رمز چند باشه؟ ۸
🔑 رمزهای ساخته شده:
۱٫ Gj5@Dc9!
۲٫ aB#4Hf2$
۳٫ ۷&kM1*Pj
📦 آرایه اصلی کاراکترها:
[‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’, ‘h’, ‘i’, ‘j’, ‘A’, ‘B’, ‘C’, ‘D’, ‘E’, ‘F’, ‘G’, ‘H’, ‘I’, ‘J’, ‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’, ‘!’, ‘@’, ‘#’, ‘$’, ‘%’, ‘&’, ‘*’]
🏋️ تمرینهای اضافی برای چالش
- آرایه معکوس: برنامهای بنویس که آرایه را بدون استفاده از
reverse()معکوس کند. - حذف تکراریها: یک آرایه داشته باش و اعداد تکراری رو حذف کن.
- جستجوی دودویی: آرایه مرتب را با روش دودویی جستجو کن.
💡 نکات کلیدی آرایهها در پایتون
آرایه = [۱۰, ۲۰, ۳۰, ۴۰]
آرایه.append(50) # اضافه کردن در انتها
آرایه.insert(2, 25) # اضافه در اندیس خاص
آرایه.remove(30) # حذف مقدار
آرایه.pop() # حذف از انتها
len(آرایه) # طول آرایه
آرایه[۰] # دسترسی به اولین عنصر
آرایه[-۱] # دسترسی به آخرین عنصر
آرایه[۱:۳] # برش آرایه (Slicing)
🎯 ترفندهای جالب برای نوجوانان
- میتونی با
list comprehensionمثل[i*2 for i in range(10)]سریع آرایه بسازی! - از
*برای تکرار آرایه استفاده کن:[۰] * ۵→ [۰, ۰, ۰, ۰, ۰] - با
min()وmax()راحتترین عضو رو پیدا کن! - برای چالشهای بیشتر، میتونی با
random.shuffle()آرایه رو به هم بزنی!
🚀 با تمرین و تکرار، حرفهای شو!
✨ موفق باشی! ✨
