پروژه ۱: محاسبه شاخص توده بدنی (BMI)
صورت مسئله: برنامهای بنویسید که وزن و قد کاربر را گرفته و شاخص BMI او را محاسبه کند و بگوید آیا وزن او طبیعی است یا خیر.
وزن خود را وارد کنید: ۶۰
قد خود را وارد کنید: ۱٫۷۰
BMI شما: ۲۰٫۷۶
وزن شما طبیعی است.
weight = float(input())
print(“قد خود را وارد کنید:”)
height = float(input())
bmi = weight / (height * height)
print(“BMI شما:”, bmi)
if bmi < 18.5:
print(“وزن شما کمتر از حد طبیعی است.”)
elif bmi < 25:
print(“وزن شما طبیعی است.”)
else:
print(“وزن شما بیشتر از حد طبیعی است.”)
نکات و اشتباهات رایج:
- فراموش کردن تبدیل ورودی به float باعث خطا میشود.
- اگر قد را به سانتیمتر وارد کنند باید به متر تبدیل شود.
توضیح خط به خط:
- print(“وزن خود را وارد کنید:”) → نمایش پیام برای گرفتن وزن.
- weight = float(input()) → گرفتن ورودی و تبدیل به عدد اعشاری.
- print(“قد خود را وارد کنید:”) → نمایش پیام برای گرفتن قد.
- height = float(input()) → گرفتن ورودی قد.
- bmi = weight / (height * height) → فرمول محاسبه BMI.
- print(“BMI شما:”, bmi) → نمایش مقدار BMI.
- if bmi < 18.5 → بررسی کموزنی.
- elif bmi < 25 → بررسی وزن طبیعی.
- else → بررسی اضافه وزن.
چرا از float استفاده کردهایم و نه int؟
در برنامهی محاسبه BMI باید وزن و قد کاربر را دریافت کنیم. قد معمولاً به صورت اعشاری (مثلاً ۱٫۷۰ متر) وارد میشود. اگر از int استفاده کنیم، فقط عدد صحیح مثل ۱ یا ۲ پذیرفته میشود و دقت محاسبه از بین میرود.
به همین دلیل از float استفاده میکنیم تا بتوانیم اعداد اعشاری را وارد کنیم و نتیجه دقیقتر باشد.
ساختار if ، elif و else در پایتون
- if: برای بررسی یک شرط استفاده میشود. اگر شرط درست باشد، دستورات داخل آن اجرا میشوند.
- elif: مخفف “else if” است. اگر شرط قبلی درست نبود، شرط جدید بررسی میشود.
- else: اگر هیچکدام از شرطهای قبلی درست نبودند، دستورات داخل else اجرا میشوند.
نمونه ساختار کلی:
if شرط۱:
دستور۱
elif شرط۲:
دستور۲
else:
دستور۳
در این ساختار ابتدا شرط اول بررسی میشود. اگر درست بود، دستور۱ اجرا میشود. اگر درست نبود، شرط دوم بررسی میشود. اگر آن هم درست نبود، در نهایت دستور۳ اجرا خواهد شد.
پروژه ۱: نمایش ساعت شنی با اعداد
صورت مسئله: برنامهای بنویسید که با استفاده از حلقهها یک ساعت شنی از اعداد چاپ کند.
۱۲۳۴۵
۱۲۳۴
۱۲۳
۱۲
۱
۱۲
۱۲۳
۱۲۳۴
۱۲۳۴۵
for j in range(1,i+1):
print(j,end=””)
print()
for i in range(2,6):
for j in range(1,i+1):
print(j,end=””)
print()
نکات: فراموش کردن end=”” باعث میشود اعداد زیر هم چاپ شوند.
توضیح دستور end در پایتون
در پروژه شش (مثلث عددی) از دستور end=”” استفاده کردیم. این دستور در تابع print مشخص میکند که بعد از چاپ هر خروجی، چه چیزی در انتهای آن قرار بگیرد.
به طور پیشفرض، print بعد از هر خروجی یک خط جدید (\n) اضافه میکند. اما وقتی end="" میگذاریم، دیگر خط جدید اضافه نمیشود و خروجیها پشت سر هم در همان خط چاپ میشوند.
ساختار کلی دستور:
print(مقدار , end="متن دلخواه")
کاربردها:
- چاپ کردن چند مقدار در یک خط بدون رفتن به خط جدید.
- ساختن الگوهای متنی مثل مثلث یا جدول.
- جلوگیری از شکسته شدن خروجی در چند خط.
مثال ساده:
for i in range(1,6):
print(i, end=" ")
خروجی این کد به صورت زیر خواهد بود:
اگر end=" " را حذف کنیم، هر عدد در خط جداگانه چاپ میشود.
تفاوت استفاده از end در دستور print
به طور پیشفرض، دستور print در پایتون بعد از هر بار چاپ، یک خط جدید اضافه میکند.
اگر از end=”” استفاده کنیم، میتوانیم این رفتار را تغییر دهیم و خروجیها پشت سر هم در همان خط چاپ شوند.
بدون end:
for i in range(1,6):
print(i)
خروجی:
۲
۳
۴
۵
با end=””:
for i in range(1,6):
print(i, end="")
خروجی:
با end=” ” (فاصله):
for i in range(1,6):
print(i, end=" ")
خروجی:
کاربرد end:
- چاپ کردن چند مقدار در یک خط.
- ساختن الگوهای متنی مثل مثلث یا جدول.
- کنترل ظاهر خروجی (مثلاً اضافه کردن فاصله یا علامت خاص بین دادهها).
پروژه ۲: نمایش دماسنج با متن
صورت مسئله: برنامهای بنویسید که دمای وارد شده را با خطهای عمودی نمایش دهد.
دمای وارد شده: ۴
||||
temp = int(input())
for i in range(temp):
print(“|”,end=””)
نکات: اگر end=”” نگذاریم، هر خط جدا چاپ میشود.
پروژه ۳: رسم نمودار پلهای با متن
صورت مسئله: برنامهای بنویسید که با استفاده از * یک نمودار پلهای بسازد.
*
**
***
****
*****
print(“*”*i)
نکات: اگر از range(6) استفاده نکنیم، پنج خط کامل نمیشود.
پروژه ۴: شبیهسازی چراغ راهنمایی
صورت مسئله: برنامهای بنویسید که چراغ راهنمایی را با متن شبیهسازی کند.
چراغ قرمز: توقف
چراغ سبز: حرکت
چراغ زرد: آماده باش
if light == “قرمز”:
print(“توقف”)
elif light == “زرد”:
print(“آماده باش”)
else:
print(“حرکت”)
نکات: اگر رشتهها را دقیق ننویسیم شرط درست کار نمیکند.
پروژه ۵: شمارش ستارهها
صورت مسئله: برنامهای بنویسید که تعداد ستارههای وارد شده را چاپ کند.
تعداد ستاره: ۳
***
n = int(input())
print(“*”*n)
نکات: اگر از int استفاده نکنیم، ضرب رشته کار نمیکند.
پروژه ۶: مثلث عددی
صورت مسئله: برنامهای بنویسید که مثلثی از اعداد چاپ کند.
۱
۱۲
۱۲۳
۱۲۳۴
۱۲۳۴۵
for j in range(1,i+1):
print(j,end=””)
print()
نکات: اگر end=”” نگذاریم، هر عدد در خط جدا چاپ میشود.
پروژه ۷: دماسنج رنگی با turtle
صورت مسئله: با استفاده از turtle یک دماسنج رنگی رسم کنید.
(یک مستطیل رنگی شبیه دماسنج روی صفحه رسم میشود)
t = turtle.Turtle()
t.begin_fill()
for i in range(2):
t.forward(50)
t.left(90)
t.forward(150)
t.left(90)
t.end_fill()
turtle.done()
نکات: اگر begin_fill و end_fill نگذاریم، رنگی نمیشود.
پروژه ۸: رسم قلب با متن
صورت مسئله: برنامهای بنویسید که با استفاده از * یک شکل قلبی ساده چاپ کند.
** **
**** ****
********
******
****
**
print(“**** ****”)
print(” ******** “)
print(” ****** “)
print(” **** “)
print(” ** “)
نکات: اگر فاصلهها درست نباشند، شکل قلبی خراب میشود.
پروژه ۹: شبیهسازی چراغ قوه
صورت مسئله: برنامهای بنویسید که وقتی کاربر عدد ۱ وارد کند، چراغ روشن شود و اگر ۰ وارد کند، خاموش شود.
ورودی: ۱ → چراغ روشن
ورودی: ۰ → چراغ خاموش
n = int(input())
if n == 1:
print(“چراغ روشن”)
else:
 
پروژه ۱: محاسبه مصرف آب روزانه
صورت مسئله: برنامهای بنویسید که تعداد لیوانهای آب نوشیده شده در روز را گرفته و بررسی کند آیا به حد استاندارد (۸ لیوان) رسیدهاید یا خیر.
تعداد لیوان: ۶
شما کمتر از حد استاندارد آب نوشیدهاید.
cups = int(input())
if cups >= 8:
print(“شما به حد استاندارد رسیدهاید.”)
else:
print(“شما کمتر از حد استاندارد آب نوشیدهاید.”)
توضیح خط به خط: گرفتن ورودی، بررسی شرط، چاپ پیام مناسب.
پروژه ۲: ماشین حساب خواب
صورت مسئله: برنامهای بنویسید که تعداد ساعت خواب شبانه را گرفته و بررسی کند آیا کافی بوده یا خیر (حداقل ۷ ساعت).
ساعت خواب: ۵
خواب شما کافی نیست.
hours = int(input())
if hours >= 7:
print(“خواب شما کافی است.”)
else:
print(“خواب شما کافی نیست.”)
توضیح خط به خط: گرفتن ورودی، بررسی شرط، چاپ پیام.
پروژه ۳: بررسی ضربان قلب
صورت مسئله: برنامهای بنویسید که ضربان قلب در دقیقه را گرفته و بررسی کند آیا در محدوده طبیعی (۶۰ تا ۱۰۰) است یا خیر.
ضربان: ۱۲۰
ضربان شما بالاتر از حد طبیعی است.
rate = int(input())
if rate < 60:
print(“ضربان شما کمتر از حد طبیعی است.”)
elif rate <= 100:
print(“ضربان شما طبیعی است.”)
else:
print(“ضربان شما بالاتر از حد طبیعی است.”)
توضیح خط به خط: گرفتن ورودی، بررسی سه حالت مختلف با if/elif/else.
پروژه ۴: شاخص مطالعه روزانه
صورت مسئله: برنامهای بنویسید که تعداد صفحات مطالعه شده را گرفته و بررسی کند آیا به هدف روزانه (۲۰ صفحه) رسیدهاید یا خیر.
صفحات مطالعه: ۲۵
آفرین! شما به هدف روزانه رسیدهاید.
pages = int(input())
if pages >= 20:
print(“آفرین! شما به هدف روزانه رسیدهاید.”)
else:
print(“شما هنوز به هدف روزانه نرسیدهاید.”)
توضیح خط به خط: گرفتن ورودی، بررسی شرط، چاپ پیام.
پروژه ۵: شاخص فعالیت بدنی
صورت مسئله: برنامهای بنویسید که تعداد قدمهای روزانه را گرفته و بررسی کند آیا به حد استاندارد (۱۰,۰۰۰ قدم) رسیدهاید یا خیر.
تعداد قدم: ۸۵۰۰
شما کمتر از حد استاندارد قدم زدهاید.
steps = int(input())
if steps >= 10000:
print(“آفرین! شما به حد استاندارد رسیدهاید.”)
else:
print(“شما کمتر از حد استاندارد قدم زدهاید.”)
توضیح خط به خط: گرفتن ورودی، بررسی شرط، چاپ پیام.
