آموزش لیست در پایتون – پروژه‌های کاربردی


📚 آموزش لیست در پایتون – پروژه‌های کاربردی

دوره برنامه‌نویسی مقدماتی — مناسب سنین ۱۰ تا ۱۵ سال

🛒 پروژه ۳: مدیریت خریدهای روزانه

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

📤 خروجی:
اقلام: [‘نان’, ‘شیر’, ‘پنیر’, ‘کره’, ‘تخم‌مرغ’]
قیمت‌ها: [۱۵۰۰۰, ۲۵۰۰۰, ۳۵۰۰۰, ۴۰۰۰۰, ۲۰۰۰۰]
مجموع قیمت‌ها: ۱۳۵۰۰۰
گران‌ترین: کره با قیمت ۴۰۰۰۰
ارزان‌ترین: نان با قیمت ۱۵۰۰۰
📄 کد پروژه ۳
# پروژه ۳: مدیریت خریدهای روزانه
items = ["نان", "شیر", "پنیر", "کره", "تخم‌مرغ"]
prices = [15000, 25000, 35000, 40000, 20000]

# محاسبه مجموع قیمت‌ها
total_price = sum(prices)

# پیدا کردن گران‌ترین و ارزان‌ترین
max_price = max(prices)
min_price = min(prices)

# پیدا کردن نام گران‌ترین و ارزان‌ترین
max_index = prices.index(max_price)
min_index = prices.index(min_price)

print("اقلام:", items)
print("قیمت‌ها:", prices)
print("مجموع قیمت‌ها:", total_price)
print("گران‌ترین:", items[max_index], "با قیمت", max_price)
print("ارزان‌ترین:", items[min_index], "با قیمت", min_price)

📝 توضیح خط به خط کد و تو رفتگی‌ها:

  • خط ۱ (بدون تو رفتگی): کامنت
  • خط ۲ (بدون تو رفتگی): تعریف لیست اسامی کالاها
  • خط ۳ (بدون تو رفتگی): تعریف لیست قیمت‌ها
  • خط ۵ (بدون تو رفتگی): کامنت
  • خط ۶ (بدون تو رفتگی): مجموع قیمت‌ها با sum()
  • خط ۸ (بدون تو رفتگی): کامنت
  • خط ۹ (بدون تو رفتگی): پیدا کردن بیشترین قیمت با max()
  • خط ۱۰ (بدون تو رفتگی): پیدا کردن کمترین قیمت با min()
  • خط ۱۲ (بدون تو رفتگی): کامنت
  • خط ۱۳ (بدون تو رفتگی): پیدا کردن اندیس گران‌ترین با index()
  • خط ۱۴ (بدون تو رفتگی): پیدا کردن اندیس ارزان‌ترین با index()
  • خط ۱۶ تا ۲۰ (بدون تو رفتگی): نمایش نتایج

✅ تو رفتگی‌ها: تمام خطوط کد در سطح اول (بدون تو رفتگی) نوشته شده‌اند زیرا هیچ حلقه یا شرطی در این کد وجود ندارد.

🎂 پروژه ۴: لیست تولد دوستان

لیست سن دوستان خود را داریم. می‌خواهیم تعداد دوستانی که سنشان بالای ۱۲ سال است را پیدا کنیم و میانگین سنی دوستان را محاسبه کنیم.

📤 خروجی:
سن دوستان: [۱۱, ۱۳, ۱۲, ۱۴, ۱۰, ۱۵, ۱۳, ۱۲, ۱۱, ۱۴]
تعداد دوستان بالای ۱۲ سال: ۵
میانگین سنی: ۱۲٫۵
بزرگ‌ترین سن: ۱۵
کوچک‌ترین سن: ۱۰
📄 کد پروژه ۴
# پروژه ۴: لیست تولد دوستان
ages = [11, 13, 12, 14, 10, 15, 13, 12, 11, 14]

# شمارش دوستان بالای ۱۲ سال
count_above_12 = 0
for age in ages:
    if age > 12:
        count_above_12 = count_above_12 + 1

# محاسبه میانگین سنی
average_age = sum(ages) / len(ages)

# پیدا کردن بزرگ‌ترین و کوچک‌ترین سن
max_age = max(ages)
min_age = min(ages)

print("سن دوستان:", ages)
print("تعداد دوستان بالای ۱۲ سال:", count_above_12)
print("میانگین سنی:", average_age)
print("بزرگ‌ترین سن:", max_age)
print("کوچک‌ترین سن:", min_age)

📝 توضیح خط به خط کد و تو رفتگی‌ها:

  • خط ۱ (بدون تو رفتگی): کامنت
  • خط ۲ (بدون تو رفتگی): تعریف لیست سن‌ها
  • خط ۴ (بدون تو رفتگی): کامنت
  • خط ۵ (بدون تو رفتگی): متغیر شمارنده (۰ Tab)
  • خط ۶ (بدون تو رفتگی): شروع حلقه for (0 Tab)
  • خط ۷ (یک Tab جلوتر): شرط if برای بررسی سن بالای ۱۲ (۱ Tab)
  • خط ۸ (دو Tab جلوتر): افزایش شمارنده (۲ Tab)
  • خط ۱۰ (بدون تو رفتگی): کامنت
  • خط ۱۱ (بدون تو رفتگی): محاسبه میانگین
  • خط ۱۳ (بدون تو رفتگی): کامنت
  • خط ۱۴ (بدون تو رفتگی): پیدا کردن بزرگترین با max()
  • خط ۱۵ (بدون تو رفتگی): پیدا کردن کوچکترین با min()
  • خط ۱۷ تا ۲۱ (بدون تو رفتگی): نمایش نتایج

✅ تو رفتگی‌ها: خطوط ۷ و ۸ به ترتیب ۱ و ۲ Tab تو رفتگی دارند زیرا داخل حلقه و شرط هستند.

📱 پروژه ۵: پیگیری مصرف اینترنت

میزان مصرف اینترنت (به گیگابایت) در ۷ روز هفته را داریم. می‌خواهیم روزهایی که مصرف بالای ۳ گیگ بوده را پیدا کنیم و مجموع مصرف را محاسبه کنیم.

📤 خروجی:
مصرف روزانه (GB): [2.5, 4.2, 1.8, 5.1, 3.3, 2.9, 4.8]
مجموع مصرف: ۲۴٫۶ GB
میانگین مصرف روزانه: ۳٫۵۱ GB
روزهایی با مصرف بالای ۳ GB: [1, 3, 4, 6]
بیشترین مصرف: ۵٫۱ GB در روز ۴
📄 کد پروژه ۵
# پروژه ۵: پیگیری مصرف اینترنت
daily_usage = [2.5, 4.2, 1.8, 5.1, 3.3, 2.9, 4.8]

# محاسبه مجموع و میانگین
total_usage = sum(daily_usage)
avg_usage = total_usage / len(daily_usage)

# پیدا کردن روزهای با مصرف بالای ۳ GB
high_usage_days = []
for i in range(len(daily_usage)):
    if daily_usage[i] > 3:
        high_usage_days.append(i)

# پیدا کردن بیشترین مصرف
max_usage = max(daily_usage)
max_day = daily_usage.index(max_usage)

print("مصرف روزانه (GB):", daily_usage)
print("مجموع مصرف:", total_usage, "GB")
print("میانگین مصرف روزانه:", round(avg_usage, 2), "GB")
print("روزهایی با مصرف بالای ۳ GB:", high_usage_days)
print("بیشترین مصرف:", max_usage, "GB در روز", max_day + 1)

📝 توضیح خط به خط کد و تو رفتگی‌ها:

  • خط ۱ (بدون تو رفتگی): کامنت
  • خط ۲ (بدون تو رفتگی): تعریف لیست مصرف روزانه
  • خط ۴ (بدون تو رفتگی): کامنت
  • خط ۵ (بدون تو رفتگی): مجموع مصرف با sum()
  • خط ۶ (بدون تو رفتگی): محاسبه میانگین
  • خط ۸ (بدون تو رفتگی): کامنت
  • خط ۹ (بدون تو رفتگی): لیست خالی برای روزهای پر مصرف
  • خط ۱۰ (بدون تو رفتگی): حلقه for با range (0 Tab)
  • خط ۱۱ (یک Tab جلوتر): شرط if برای مصرف بالای ۳ (۱ Tab)
  • خط ۱۲ (دو Tab جلوتر): افزودن روز به لیست با append (2 Tab)
  • خط ۱۴ (بدون تو رفتگی): کامنت
  • خط ۱۵ (بدون تو رفتگی): پیدا کردن بیشترین مصرف با max()
  • خط ۱۶ (بدون تو رفتگی): پیدا کردن اندیس بیشترین مصرف
  • خط ۱۸ تا ۲۲ (بدون تو رفتگی): نمایش نتایج

✅ تو رفتگی‌ها: خطوط ۱۱ و ۱۲ به ترتیب ۱ و ۲ Tab تو رفتگی دارند چون داخل حلقه و شرط هستند.

🏫 پروژه ۶: معدل کلاس

لیست نمرات یک کلاس را داریم. می‌خواهیم تعداد دانش‌آموزانی که نمره بالای ۱۷ دارند، تعداد دانش‌آموزانی که نمره زیر ۱۰ دارند و معدل کلاس را محاسبه کنیم.

📤 خروجی:
نمرات کلاس: [۱۸, ۱۴, ۱۹, ۹, ۱۶, ۲۰, ۱۲, ۸, ۱۷, ۱۵, ۱۳, ۱۱]
تعداد دانش‌آموزان با نمره بالای ۱۷: ۳
تعداد دانش‌آموزان با نمره زیر ۱۰: ۲
معدل کلاس: ۱۴٫۳۳
بیشترین نمره: ۲۰
کمترین نمره: ۸
📄 کد پروژه ۶
# پروژه ۶: معدل کلاس
grades = [18, 14, 19, 9, 16, 20, 12, 8, 17, 15, 13, 11]

# شمارش نمرات بالا و پایین
high_count = 0
low_count = 0
for grade in grades:
    if grade > 17:
        high_count = high_count + 1
    elif grade < 10:
        low_count = low_count + 1

# محاسبه معدل
average = sum(grades) / len(grades)

# پیدا کردن بیشترین و کمترین
max_grade = max(grades)
min_grade = min(grades)

print("نمرات کلاس:", grades)
print("تعداد دانش‌آموزان با نمره بالای ۱۷:", high_count)
print("تعداد دانش‌آموزان با نمره زیر ۱۰:", low_count)
print("معدل کلاس:", round(average, 2))
print("بیشترین نمره:", max_grade)
print("کمترین نمره:", min_grade)

📝 توضیح خط به خط کد و تو رفتگی‌ها:

  • خط ۱ (بدون تو رفتگی): کامنت
  • خط ۲ (بدون تو رفتگی): تعریف لیست نمرات
  • خط ۴ (بدون تو رفتگی): کامنت
  • خط ۵ (بدون تو رفتگی): متغیر شمارنده نمرات بالا (۰ Tab)
  • خط ۶ (بدون تو رفتگی): متغیر شمارنده نمرات پایین (۰ Tab)
  • خط ۷ (بدون تو رفتگی): شروع حلقه for (0 Tab)
  • خط ۸ (یک Tab جلوتر): شرط if برای نمره بالای ۱۷ (۱ Tab)
  • خط ۹ (دو Tab جلوتر): افزایش شمارنده بالا (۲ Tab)
  • خط ۱۰ (یک Tab جلوتر): شرط elif برای نمره زیر ۱۰ (۱ Tab)
  • خط ۱۱ (دو Tab جلوتر): افزایش شمارنده پایین (۲ Tab)
  • خط ۱۳ (بدون تو رفتگی): کامنت
  • خط ۱۴ (بدون تو رفتگی): محاسبه معدل
  • خط ۱۶ (بدون تو رفتگی): کامنت
  • خط ۱۷ (بدون تو رفتگی): پیدا کردن بیشترین با max()
  • خط ۱۸ (بدون تو رفتگی): پیدا کردن کمترین با min()
  • خط ۲۰ تا ۲۵ (بدون تو رفتگی): نمایش نتایج

✅ تو رفتگی‌ها: خطوط ۸، ۹، ۱۰ و ۱۱ به ترتیب ۱ و ۲ Tab تو رفتگی دارند.

🍕 پروژه ۷: سفارش پیتزا

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

📤 خروجی:
تعداد پیتزاها: [۲, ۳, ۱, ۴, ۲, ۳, ۱]
قیمت هر پیتزا: [۸۵۰۰۰, ۹۵۰۰۰, ۷۵۰۰۰, ۱۱۰۰۰۰, ۹۰۰۰۰, ۱۰۵۰۰۰, ۸۰۰۰۰]
مجموع قیمت: ۶۴۵۰۰۰
میانگین قیمت: ۹۲۱۴۲٫۸۶
تعداد سفارش‌های بالای ۱۰۰ هزار: ۲
📄 کد پروژه ۷
# پروژه ۷: سفارش پیتزا
pizza_counts = [2, 3, 1, 4, 2, 3, 1]
pizza_prices = [85000, 95000, 75000, 110000,

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *