سلام دوستان .
در پست های قبلی ، راجع به اندیس ها ، رشته ها و نام گذاری متغیرها صحبت کردیم ؛ امروز میخوایم ، برنامه ای رو بنویسیم که دو متغیر از کاربر دریافت کنه و اونهارو جمع بزنه و جواب رو نمایش بده .
اول ، یه چیزی بگم در مورد کامنت گذاری در پایتون : دوستانی که قبلا برنامه نویسی کار کردن ، میدونن که در بعضی از زبان ها ، کامنت گذاری با // و سایر کاراکتر ها انجام میشه ؛ در پایتون ، این کار با # انجام میشه .
اما اصلا کامنت گذاری یعنی چی؟
فرض کنید یک برنامه طولانی داریم که تعداد متغیرهای زیادی دارن ؛ ممکنه که در میانه راه ، متغیرها رو با هم قاطی کنیم و برنامه مون کلا متوقف بشه و ارور بده . در این صورت ، از کامنت ها استفاده میکنیم تا بفهمیم که برای مثال ، متغیر Beta رو ما برای چی تعریف کرده بودیم یا مثلا یه برنامه طولانی رو میخوایم بنویسیم و وسطای کار ، حوصله مون سر میره . مثال :
Alpha = 3 #آخرین متغیری که تعریف کردم
در کد بالا ، عبارت (( آخرین متغیری که تعریف کردم )) یک کامنت محسوب میشه .
نکته : کامنت ها هنگام ساخت برنامه ، توسط مفسر پایتون ، نادیده گرفته میشن . یعنی در کد زیر ، سطر دوم ( که شاید در نگاه اول بگیم که مربوط به تابع پرینت هست ) رو چاپ نمیکنه . بلکه اون سطر رو نادیده میگیره (چون یک کامنت هست )
نکته 2 : در همه جا میتونید از کامنت استفاده کنید ؛اول و آخر هر سطر ، حتی بعد از تعریف متغیرها ، در همون سطر مربوط به متغیر ؛ اما این حق رو ندارید که در اول یک سطری استفاده کنید به قصد اینکه بعدش در همون سطر بخواین یک متغیر تعریف کنید چون مفسر پایتون اون متغیر رو هم به چشم کامنت میبینه و ازش رد میشه .
Alpha = 3
#print(Alpha) تابع پرینت رو نمیخونه چون عملا به چشم یک کامنت بهش نگاه میکنه و مفسر از این سطر رد میشه
شروع میکنیم به کدنویسی ؛ اول گفتیم که دومتغیر میخوایم ؛ گرفتن متغیر از کاربر ، با تابع input انجام میگیره . همچنین ، هر عبارتی که بخوایم از کاربر دریافت کنیم ( با Input ) ابتدا بصورت رشته خواهد بود و اگر بخوایم به عدد تبدیل کنیم ، باید از تابع int ( مخفف کلمه Integer به معنای عدد صحیح ) برای تبدیل به عدد صحیح و از تابع float ( معنای اصلی در انگلیسی : شناور که اینجا به معنای عدد اعشاری هست ) برای تبدیل به عدد اعشاری استفاده کنیم .
حالا از کدوم تابع استفاده کنیم ؟ float یا int ؟
من تابع float رو به دو دلیل پیشنهاد میکنم :
اما این برنامه ای رو که گفتیم ، به دو صورت میتونیم بنویسیم :
num1 = input("enter first number") # با پیغامی که داخل کوتیشن نوشتیم ، از کاربر میخوایم که عدد اول مورد نظرش رو وارد کنه
num1 = float(num1) #عدد اول وارد شده که بصورت رشته هست ، به عدد صحیح یا اعشاری تبدیل میکنه . البته لازم نیست که این متغیر ، هم نام با متغیر اولی باشه ؛ بلکه برای کمتر اشغال شدن حافظه این کار رو انجام میدیم چون دیگه به عدد رشته ای مون نیازی نداریم
num2 = input("enter second number") # از کاربر میخوایم عدد دومش رو وارد کنه
num2 = int(num2) # عدد وارد شده که بصورت رشته هست ، به عدد صحیح یا اعشاری تبدیل میکنه
print(num1+num2) # جمع دو عدد رو چاپ میکنه
اما نوع دومی که میتونیم بنویسیم :
num1 = float(input("enter first number")) #همزمان با گرفتن عدد ،اون رو از رشته به اعشاری تبدیل میکنیم . در واقع ، سطر 1 و 2 برنامه بالایی رو خلاصه میکنیم در یک سطر
num2 = float(input("enter second number")) #همزمان با گرفتن عدد دوم ، اون رو از رشته به عدد اعشاری یا صحیح تبدیل میکنیم . خلاصه شده سطر سه و چهار برنامه بالایی در یک سطر
print(num1+num2) #جمع دو عدد رو چاپ میکنه
در روش دوم ، خط های برنامه رو کم کردیم ؛ اما هیچ کدی رو حذف نکردیم ؛ در واقع ، برنامه مون رو با این کار ، بهینه کردیم .
اما یک سوال : " چرا در خط آخر برنامه ، num1+num2 رو داخل دو کوتیشن ننوشتیم؟
جواب : برای چاپ ( نمایش ) یک یا چند متغیر ، از کوتیشن استفاده نمیکنیم . به همین راحتی !
ممکنه که در اواسط برنامه ، بخوایم که یک یا چند متغیر رو از حافظه پاک کنیم . برای این کار ، از متد del استفاده می کنیم .
( اگر چند متغیر رو بخوایم حذف کنیم ، باید بین متغیر ها کاما یا همون , بذاریم . ) :
del(نام یا نام های متغیرها)