🐍 آموزش جامع Python — پست ۲۲
بررسی و حذف فاصلهها |
متد
🔹
خروجی:
اما:
خروجی:
🔹 رشته خالی
رشتهی خالی
خروجی:
پس:
🔹 تفاوت
این دو متد کاربرد متفاوتی دارند:
خروجی:
خروجی:
⚠️ نکته مهم
هنوز خروجی:
اگر میخواهیم نتیجه ذخیره شود:
خروجی:
🎯 کاربرد واقعی
مثلاً برای بررسی ورودی کاربر:
و برای حذف فاصلههای اضافی ابتدا و انتها:
خروجی:
🧠 خلاصه
🎯 تمرین
خروجی را حدس بزن:
پست ۲۲ از دوره جامع Python 🐍
بررسی و حذف فاصلهها |
isspace() و strip()متد
isspace() بررسی میکند که تمام کاراکترهای رشته، فاصلهای باشند.🔹
isspace()text = " "
print(text.isspace())
خروجی:
True
اما:
text = "Hello"
print(text.isspace())
خروجی:
False
🔹 رشته خالی
رشتهی خالی
"" هیچ کاراکتری ندارد:print("".isspace())خروجی:
False
پس:
" " → True
"" → False
🔹 تفاوت
isspace() و strip()این دو متد کاربرد متفاوتی دارند:
isspace() → بررسی میکندtext = " "
print(text.isspace())
خروجی:
True
strip() → فاصلههای ابتدا و انتهای رشته را حذف میکندtext = " Hello Python "
print(text.strip())
خروجی:
Hello Python
⚠️ نکته مهم
strip() فقط بررسی نمیکند؛ یک رشته جدید برمیگرداند.text = " Hello "
text.strip()
print(text)
هنوز خروجی:
Hello
اگر میخواهیم نتیجه ذخیره شود:
text = text.strip()
print(text)
خروجی:
Hello
🎯 کاربرد واقعی
مثلاً برای بررسی ورودی کاربر:
username = " "
if username.isspace():
print("Username cannot be only spaces")
و برای حذف فاصلههای اضافی ابتدا و انتها:
username = " Ali "
username = username.strip()
print(username)
خروجی:
Ali
🧠 خلاصه
isspace() → آیا همه کاراکترها فاصلهای هستند؟
strip() → فاصلههای ابتدا و انتها را حذف میکند.
🎯 تمرین
خروجی را حدس بزن:
text = " Python "
print(text.isspace())
print(text.strip())
print(text)
پست ۲۲ از دوره جامع Python 🐍
🐍 آموزش جامع Python — پست ۲۳
قرار دادن متغیر داخل متن |
گاهی میخواهیم مقدار یک متغیر را داخل یک متن نمایش دهیم.
برای این کار یکی از بهترین روشها
🔹 روش ساده
خروجی:
حرف
و متغیر را داخل
🔹 چند متغیر
خروجی:
🔹 قرار دادن محاسبه داخل
داخل
خروجی:
⚠️ نکته مهم
برای
اگر
خروجی:
🎯 تمرین
خروجی را حدس بزن:
پست ۲۳ از دوره جامع Python 🐍
قرار دادن متغیر داخل متن |
f-stringگاهی میخواهیم مقدار یک متغیر را داخل یک متن نمایش دهیم.
برای این کار یکی از بهترین روشها
f-string است.🔹 روش ساده
name = "Ali"
age = 20
print(f"My name is {name}")
print(f"I am {age} years old")
خروجی:
My name is Ali
I am 20 years old
حرف
f قبل از رشته قرار میگیرد:f"..."
و متغیر را داخل
{} مینویسیم.🔹 چند متغیر
name = "Ali"
age = 20
city = "Baku"
print(f"{name} is {age} years old and lives in {city}.")
خروجی:
Ali is 20 years old and lives in Baku.
🔹 قرار دادن محاسبه داخل
{}داخل
{} فقط متغیر نیست؛ میتوانیم عبارت هم بنویسیم:age = 20
print(f"Next year I will be {age + 1}.")
خروجی:
Next year I will be 21.
⚠️ نکته مهم
برای
f-string باید f را قبل از رشته بنویسیم:name = "Ali"
print(f"Hello {name}")
اگر
f را ننویسیم:print("Hello {name}")خروجی:
Hello {name}🎯 تمرین
خروجی را حدس بزن:
name = "Sara"
age = 18
print(f"My name is {name}.")
print(f"Next year I will be {age + 1}.")
پست ۲۳ از دوره جامع Python 🐍
🐍 آموزش جامع Python — پست ۲۴
قالببندی عددها با
در پست قبل یاد گرفتیم متغیرها را با
حالا میتوانیم نحوه نمایش عددها را کنترل کنیم.
🔹 تعداد رقم اعشار
خروجی:
ساختار:
🔹 جداکننده هزارگان
خروجی:
🔥 مقدار واقعی ≠ نمایش
این نکته بسیار مهم است:
خروجی:
یعنی:
🔹 یک مثال واضحتر
خروجی:
پس:
مقدار واقعی همچنان:
است.
⚠️ اگر واقعاً بخواهیم مقدار را تغییر دهیم
باید نتیجه را در یک متغیر ذخیره کنیم:
خروجی:
اینجا دیگر مقدار
🧠 خلاصه
🎯 تمرین
خروجی را حدس بزن:
به تفاوت خروجیهای قبل و بعد از
پست ۲۴ از دوره جامع Python 🐍
قالببندی عددها با
f-stringدر پست قبل یاد گرفتیم متغیرها را با
f-string داخل متن قرار دهیم.حالا میتوانیم نحوه نمایش عددها را کنترل کنیم.
🔹 تعداد رقم اعشار
price = 19.9876
print(f"{price:.2f}")
خروجی:
19.99
ساختار:
{متغیر:.2f}2f یعنی عدد هنگام نمایش با ۲ رقم اعشار نشان داده شود.🔹 جداکننده هزارگان
number = 1000000
print(f"{number:,}")
خروجی:
1,000,000
, فقط نحوه نمایش عدد را تغییر میدهد.🔥 مقدار واقعی ≠ نمایش
این نکته بسیار مهم است:
price = 19.9876
print(f"{price:.2f}")
print(price)
خروجی:
19.99
19.9876
یعنی:
مقدار واقعی → 19.9876
نمایش با قالب → 19.99
f-string مقدار متغیر را تغییر نمیدهد؛ فقط مشخص میکند مقدار چطور نمایش داده شود.🔹 یک مثال واضحتر
number = 1234567.891
print(f"{number:,.2f}")
print(number)
خروجی:
1,234,567.89
1234567.891
پس:
1,234,567.89 فقط شکل نمایش است.مقدار واقعی همچنان:
1234567.891است.
⚠️ اگر واقعاً بخواهیم مقدار را تغییر دهیم
باید نتیجه را در یک متغیر ذخیره کنیم:
price = 19.9876
price = round(price, 2)
print(price)
خروجی:
19.99
اینجا دیگر مقدار
price تغییر کرده است.🧠 خلاصه
f"{price:.2f}" → فقط نمایش را قالببندی میکند
round(price, 2) → مقدار جدید تولید میکند🎯 تمرین
خروجی را حدس بزن:
number = 1234.5678
print(f"{number:.2f}")
print(number)
number = round(number, 2)
print(number)
به تفاوت خروجیهای قبل و بعد از
round() دقت کن.پست ۲۴ از دوره جامع Python 🐍
🐍 آموزش جامع Python — پست ۲۵
گرفتن ورودی از کاربر |
تا اینجا اطلاعات را خودمان داخل برنامه مینوشتیم.
با
🔹 استفاده ساده
مثلاً اگر کاربر بنویسد:
خروجی:
🔹 ذخیره ورودی در متغیر
مقدار برگشتی
⚠️ نکته بسیار مهم
خروجی
حتی اگر کاربر عدد وارد کند:
اگر کاربر
یعنی
🔹 مشکل محاسبه با
این کد خطا میدهد، چون
برای تبدیل به عدد، در پست بعد با
🎯 تمرین
برنامهای بنویس که:
نام کاربر را بگیرد.
سن کاربر را بگیرد.
هر دو را با
نوع
پست ۲۵ از دوره جامع Python 🐍
گرفتن ورودی از کاربر |
input()تا اینجا اطلاعات را خودمان داخل برنامه مینوشتیم.
با
input() میتوانیم از کاربر ورودی بگیریم.🔹 استفاده ساده
name = input("Enter your name: ")
print(name)مثلاً اگر کاربر بنویسد:
Ali
خروجی:
Ali
🔹 ذخیره ورودی در متغیر
مقدار برگشتی
input() را میتوانیم داخل متغیر ذخیره کنیم:name = input("Name: ")
age = input("Age: ")
print(name)
print(age)⚠️ نکته بسیار مهم
خروجی
input() همیشه از نوع str است.حتی اگر کاربر عدد وارد کند:
age = input("Age: ")
print(type(age))اگر کاربر
20 وارد کند، خروجی:<class 'str'>
یعنی
20 در اینجا رشته است، نه int.🔹 مشکل محاسبه با
input()age = input("Age: ")
print(age + 1)این کد خطا میدهد، چون
age رشته است.برای تبدیل به عدد، در پست بعد با
int() و float() کار میکنیم.🎯 تمرین
برنامهای بنویس که:
نام کاربر را بگیرد.
سن کاربر را بگیرد.
هر دو را با
print() نمایش دهد.نوع
age را با type() بررسی کند.پست ۲۵ از دوره جامع Python 🐍
🐍 آموزش جامع Python — پست ۲۶
تبدیل نوع دادهها |
در پست قبل دیدیم که
حالا یاد میگیریم چطور آن را به عدد تبدیل کنیم.
🔹 تبدیل به
اگر کاربر
🔹 تبدیل به
برای اعداد اعشاری از
اگر کاربر
🔹 تبدیل مستقیم
میتوانیم تبدیل را همان موقع دریافت ورودی انجام دهیم:
⚠️ ورودی باید قابل تبدیل باشد
این کد خطا میدهد:
چون
همچنین:
خطا میدهد؛ چون
برای آن باید از
🔹 یک مثال واقعی
اگر کاربر
🧠 خلاصه
🎯 تمرین
برنامهای بنویس که قیمت و تعداد را از کاربر بگیرد و قیمت کل را محاسبه کند:
پست ۲۶ از دوره جامع Python 🐍
تبدیل نوع دادهها |
int() و float()در پست قبل دیدیم که
input() همیشه یک str برمیگرداند.حالا یاد میگیریم چطور آن را به عدد تبدیل کنیم.
🔹 تبدیل به
intage = input("Age: ")
age = int(age)
print(age)
print(type(age))اگر کاربر
20 وارد کند:20
<class 'int'>
🔹 تبدیل به
floatبرای اعداد اعشاری از
float() استفاده میکنیم:price = input("Price: ")
price = float(price)
print(price)
print(type(price))اگر کاربر
19.99 وارد کند:19.99
<class 'float'>
🔹 تبدیل مستقیم
میتوانیم تبدیل را همان موقع دریافت ورودی انجام دهیم:
age = int(input("Age: "))
price = float(input("Price: "))⚠️ ورودی باید قابل تبدیل باشد
این کد خطا میدهد:
age = int("hello")چون
"hello" یک عدد صحیح نیست.همچنین:
number = int("10.5")خطا میدهد؛ چون
"10.5" یک عدد اعشاری متنی است.برای آن باید از
float() استفاده کنیم:number = float("10.5")🔹 یک مثال واقعی
age = int(input("Age: "))
print(f"Next year you will be {age + 1}.")اگر کاربر
20 وارد کند:Next year you will be 21.
🧠 خلاصه
input() → str
int("20") → 20
float("20.5") → 20.5
🎯 تمرین
برنامهای بنویس که قیمت و تعداد را از کاربر بگیرد و قیمت کل را محاسبه کند:
price = float(input("Price: "))
count = int(input("Count: "))
total = price * count
print(total)پست ۲۶ از دوره جامع Python 🐍
🐍 آموزش جامع Python — پست ۲۷
تبدیل انواع دادهها |
تا اینجا با
حالا هر سه تبدیل مهم را کنار هم میبینیم.
🔹 تبدیل به
با
خروجی:
🔹 تبدیل به
خروجی:
🔹 تبدیل به
خروجی:
⚠️ تبدیل همیشه ممکن نیست
مثلاً:
خطا میدهد؛ چون
اما:
درست است.
🔹 تبدیل
خروجی:
🧠 خلاصه
نوع داده قبل و بعد از تبدیل میتواند کاملاً متفاوت باشد.
🎯 تمرین
نوع و خروجی هرکدام را بررسی کن:
پست ۲۷ از دوره جامع Python 🐍
تبدیل انواع دادهها |
str()، int() و float()تا اینجا با
int() و float() آشنا شدیم.حالا هر سه تبدیل مهم را کنار هم میبینیم.
🔹 تبدیل به
strبا
str() یک مقدار را به رشته تبدیل میکنیم:number = 100
text = str(number)
print(text)
print(type(text))
خروجی:
100
<class 'str'>
🔹 تبدیل به
inttext = "25"
number = int(text)
print(number)
print(type(number))
خروجی:
25
<class 'int'>
🔹 تبدیل به
floattext = "25.5"
number = float(text)
print(number)
print(type(number))
خروجی:
25.5
<class 'float'>
⚠️ تبدیل همیشه ممکن نیست
مثلاً:
int("hello")خطا میدهد؛ چون
"hello" عدد نیست.اما:
int("25")درست است.
🔹 تبدیل
float به intnumber = 12.9
print(int(number))
خروجی:
12
int() قسمت اعشاری را حذف میکند؛ گرد نمیکند.🧠 خلاصه
str(100) → "100"
int("100") → 100
float("10.5") → 10.5
نوع داده قبل و بعد از تبدیل میتواند کاملاً متفاوت باشد.
🎯 تمرین
نوع و خروجی هرکدام را بررسی کن:
a = str(50)
b = int("50")
c = float("50")
print(a, type(a))
print(b, type(b))
print(c, type(c))
پست ۲۷ از دوره جامع Python 🐍
🐍 آموزش جامع Python — پست ۲۸
تبدیل به
با
🔹 مقادیر معمولاً True
خروجی:
🔹 مقادیر معمولاً False
چند مقدار مهم در Python به
خروجی:
لیست خالی هم
خروجی:
⚠️ نکته مهم
رشتهای که فقط شامل
خروجی:
چون
🔹 مثال با
اگر کاربر چیزی وارد کند:
نتیجه:
اما اگر ورودی خالی باشد:
🧠 خلاصه
این مفهوم بعداً در شرطها (
🎯 تمرین
بدون اجرا حدس بزن خروجی هر خط چیست:
پست ۲۸ از دوره جامع Python 🐍
تبدیل به
bool | تابع bool()با
bool() میتوانیم یک مقدار را به True یا False تبدیل کنیم.🔹 مقادیر معمولاً True
print(bool(1))
print(bool(100))
print(bool("Hello"))
خروجی:
True
True
True
🔹 مقادیر معمولاً False
چند مقدار مهم در Python به
False تبدیل میشوند:print(bool(0))
print(bool(""))
print(bool(None))
خروجی:
False
False
False
لیست خالی هم
False است:print(bool([]))
خروجی:
False
⚠️ نکته مهم
رشتهای که فقط شامل
"0" باشد، خالی نیست:print(bool("0"))خروجی:
True
چون
"0" یک رشتهی دارای کاراکتر است.🔹 مثال با
input()name = input("Name: ")
print(bool(name))اگر کاربر چیزی وارد کند:
Ali
نتیجه:
True
اما اگر ورودی خالی باشد:
False
🧠 خلاصه
bool(1) → True
bool(0) → False
bool("Hello") → True
bool("") → False
bool([]) → False
bool(None) → False
این مفهوم بعداً در شرطها (
if) بسیار مهم میشود.🎯 تمرین
بدون اجرا حدس بزن خروجی هر خط چیست:
print(bool(10))
print(bool(0))
print(bool("Python"))
print(bool(""))
print(bool("0"))
print(bool([]))
پست ۲۸ از دوره جامع Python 🐍
🐍 آموزش جامع Python — پست ۲۹
مقایسه مقادیر |
تا اینجا با مقدارها و تبدیل نوع دادهها آشنا شدیم.
حالا یاد میگیریم دو مقدار را با هم مقایسه کنیم.
نتیجهی مقایسه همیشه
🔹 برابر بودن |
خروجی:
⚠️
اما
🔹 نابرابر بودن |
خروجی:
یعنی:
🔹 بزرگتر و کوچکتر
خروجی:
عملگرها:
🔹 بزرگتر یا مساوی |
هر دو
🔹 کوچکتر یا مساوی |
خروجی:
🧠 خلاصه
🎯 تمرین
بدون اجرا نتیجه را حدس بزن:
پست ۲۹ از دوره جامع Python 🐍
مقایسه مقادیر |
==، !=، > و <تا اینجا با مقدارها و تبدیل نوع دادهها آشنا شدیم.
حالا یاد میگیریم دو مقدار را با هم مقایسه کنیم.
نتیجهی مقایسه همیشه
True یا False است.🔹 برابر بودن |
==print(10 == 10)
print(10 == 5)
خروجی:
True
False
⚠️
== برای مقایسه است.اما
= برای قرار دادن مقدار داخل متغیر است:x = 10
print(x == 10)
🔹 نابرابر بودن |
!=print(10 != 5)
print(10 != 10)
خروجی:
True
False
یعنی:
!= → برابر نیست
🔹 بزرگتر و کوچکتر
print(10 > 5)
print(10 < 5)
خروجی:
True
False
عملگرها:
> → بزرگتر از
< → کوچکتر از
🔹 بزرگتر یا مساوی |
>=print(10 >= 10)
print(10 >= 5)
هر دو
True هستند.🔹 کوچکتر یا مساوی |
<=print(5 <= 10)
print(10 <= 5)
خروجی:
True
False
🧠 خلاصه
== → برابر است
!= → برابر نیست
> → بزرگتر
< → کوچکتر
>= → بزرگتر یا مساوی
<= → کوچکتر یا مساوی
🎯 تمرین
بدون اجرا نتیجه را حدس بزن:
x = 20
print(x == 20)
print(x != 10)
print(x > 15)
print(x < 10)
print(x >= 20)
print(x <= 19)
پست ۲۹ از دوره جامع Python 🐍
🐍 آموزش جامع Python — پست ۳۰
عملگرهای منطقی |
گاهی لازم است چند شرط را با هم ترکیب کنیم.
برای این کار از سه عملگر منطقی استفاده میکنیم:
🔹
هر دو شرط باید
خروجی:
اما:
خروجی:
🔹
کافی است حداقل یکی از شرطها
خروجی:
اگر هر دو
خروجی:
🔹
نتیجه را برعکس میکند:
خروجی:
مثلاً:
خروجی:
چون
🧠 خلاصه
🎯 تمرین
خروجی هر خط را قبل از اجرا حدس بزن:
پست ۳۰ از دوره جامع Python 🐍
عملگرهای منطقی |
and، or و notگاهی لازم است چند شرط را با هم ترکیب کنیم.
برای این کار از سه عملگر منطقی استفاده میکنیم:
and
or
not
🔹
andهر دو شرط باید
True باشند:print(10 > 5 and 20 > 10)
خروجی:
True
اما:
print(10 > 5 and 20 < 10)
خروجی:
False
🔹
orکافی است حداقل یکی از شرطها
True باشد:print(10 > 5 or 20 < 10)
خروجی:
True
اگر هر دو
False باشند:print(10 < 5 or 20 < 10)
خروجی:
False
🔹
notنتیجه را برعکس میکند:
print(not True)
print(not False)
خروجی:
False
True
مثلاً:
x = 10
print(not x == 5)
خروجی:
True
چون
x == 5 برابر False است و not آن را برعکس میکند.🧠 خلاصه
and → هر دو باید True باشند
or → حداقل یکی باید True باشد
not → True و False را برعکس میکند
🎯 تمرین
خروجی هر خط را قبل از اجرا حدس بزن:
x = 10
print(x > 5 and x < 20)
print(x > 20 or x == 10)
print(not x == 10)
پست ۳۰ از دوره جامع Python 🐍
🐍 آموزش جامع Python — پست ۳۱
اولویت عملگرها در Python
وقتی چند عملگر در یک عبارت داشته باشیم، Python آنها را با یک ترتیب مشخص بررسی میکند.
🔹 ترتیب مهم
برای بخشهایی که تا اینجا یاد گرفتیم:
یعنی:
مقایسهها قبل از
🔹 مثال
ابتدا
سپس:
خروجی:
🔹 مثال مهم برای
ابتدا مقایسه انجام میشود:
سپس
پس خروجی:
🔹 استفاده از
برای مشخصکردن ترتیب موردنظر، از پرانتز استفاده میکنیم:
ابتدا:
سپس:
خروجی:
🧠 نکته مهم
ترتیب منطقی را اینطور به خاطر بسپار:
و اگر ترتیب برایت مبهم است، از
🎯 تمرین
خروجی را بدون اجرا حدس بزن:
پست ۳۱ از دوره جامع Python 🐍
اولویت عملگرها در Python
وقتی چند عملگر در یک عبارت داشته باشیم، Python آنها را با یک ترتیب مشخص بررسی میکند.
🔹 ترتیب مهم
برای بخشهایی که تا اینجا یاد گرفتیم:
()
**
* / // %
+ -
== != > < >= <=
not
and
or
یعنی:
مقایسهها قبل از
not انجام میشوند.not قبل از and انجام میشود.and قبل از or انجام میشود.🔹 مثال
result = True or False and False
print(result)
ابتدا
and محاسبه میشود:False and False → False
سپس:
True or False → True
خروجی:
True
🔹 مثال مهم برای
notx = 10
print(not x == 5)
ابتدا مقایسه انجام میشود:
x == 5 → False
سپس
not:not False → True
پس خروجی:
True
🔹 استفاده از
()برای مشخصکردن ترتیب موردنظر، از پرانتز استفاده میکنیم:
result = (True or False) and False
print(result)
ابتدا:
True or False → True
سپس:
True and False → False
خروجی:
False
🧠 نکته مهم
ترتیب منطقی را اینطور به خاطر بسپار:
مقایسه → not → and → or
و اگر ترتیب برایت مبهم است، از
() استفاده کن.🎯 تمرین
خروجی را بدون اجرا حدس بزن:
print(not False and False)
print(not (False and False))
print(True or False and False)
پست ۳۱ از دوره جامع Python 🐍
🐍 آموزش جامع Python — پست ۳۲
شرطها در Python |
با
اگر یک شرط درست بود، این کد را اجرا کن.
با
🔹 ساختار
بعد از شرط
🔹 مثال ساده
چون:
خروجی:
🔹
اگر شرط
خروجی:
ساختار:
⚠️ بعد از
🔹 یک مثال واقعی
خروجی:
⚠️
اما:
یعنی مقایسه کردن.
مثلاً:
🧠 خلاصه
🎯 تمرین
برنامهای بنویس که اگر
پست ۳۲ از دوره جامع Python 🐍
شرطها در Python |
if و elseبا
if میتوانیم بگوییم:اگر یک شرط درست بود، این کد را اجرا کن.
با
else هم مشخص میکنیم اگر شرط درست نبود، چه اتفاقی بیفتد.🔹 ساختار
ifif condition:
code
بعد از شرط
: قرار میگیرد و کد داخل if باید تورفتگی (indentation) داشته باشد.🔹 مثال ساده
age = 20
if age >= 18:
print("You are an adult.")
چون:
20 >= 18 → True
خروجی:
You are an adult.
🔹
elseاگر شرط
if برابر False باشد، کد داخل else اجرا میشود:age = 15
if age >= 18:
print("You are an adult.")
else:
print("You are not an adult.")
خروجی:
You are not an adult.
ساختار:
if condition:
code
else:
code
⚠️ بعد از
else هم باید : قرار بگیرد.🔹 یک مثال واقعی
score = 75
if score >= 50:
print("Passed")
else:
print("Failed")
خروجی:
Passed
⚠️
= و == را اشتباه نکنage = 20
= یعنی قرار دادن مقدار.اما:
age == 20
یعنی مقایسه کردن.
مثلاً:
if age == 20:
print("Age is 20")
🧠 خلاصه
if → اگر شرط درست باشد
else → اگر شرط درست نباشد
: → شروع بلوک
indentation → کد داخل بلوک
🎯 تمرین
برنامهای بنویس که اگر
score حداقل 50 بود، Passed و در غیر این صورت Failed را چاپ کند:score = 40
پست ۳۲ از دوره جامع Python 🐍
🐍 آموزش جامع Python — پست ۳۳
حالت جایگزین در شرط |
در پست قبل با
با
🔹 ساختار
دقت کن:
بعد از
کدهای داخل هر بلوک باید تورفتگی (indentation) داشته باشند.
🔹 مثال ساده
خروجی:
🔹 مثال با
خروجی:
🔹 تمرین تعاملی با
حالا برنامه را طوری بنویسیم که خود کاربر نمره را وارد کند:
مثلاً:
یا:
اینجا:
⚠️ نکته مهم
اگر شرط
🎯 تمرین
برنامهای بنویس که سن را از کاربر بگیرد:
اگر سن ۱۸ یا بیشتر بود:
در غیر این صورت:
پست ۳۳ از دوره جامع Python 🐍
حالت جایگزین در شرط |
elseدر پست قبل با
if آشنا شدیم.با
else مشخص میکنیم اگر شرط if False بود، چه کدی اجرا شود.🔹 ساختار
if condition:
code
else:
code
دقت کن:
بعد از
if و else علامت : قرار میگیرد.کدهای داخل هر بلوک باید تورفتگی (indentation) داشته باشند.
🔹 مثال ساده
age = 15
if age >= 18:
print("You are an adult.")
else:
print("You are not an adult.")
خروجی:
You are not an adult.
🔹 مثال با
scorescore = 40
if score >= 50:
print("Passed")
else:
print("Failed")
خروجی:
Failed
🔹 تمرین تعاملی با
input()حالا برنامه را طوری بنویسیم که خود کاربر نمره را وارد کند:
score = int(input("Enter your score: "))
if score >= 50:
print("Passed")
else:
print("Failed")مثلاً:
Enter your score: 75
Passed
یا:
Enter your score: 40
Failed
اینجا:
input() → دریافت ورودی
int() → تبدیل ورودی به عدد صحیح
if → بررسی شرط
else → حالت مخالف
⚠️ نکته مهم
else شرط ندارد.if age >= 18:
print("Adult")
else:
print("Not adult")
اگر شرط
if درست نباشد، else اجرا میشود.🎯 تمرین
برنامهای بنویس که سن را از کاربر بگیرد:
age = int(input("Enter your age: "))اگر سن ۱۸ یا بیشتر بود:
Adult
در غیر این صورت:
Not adult
پست ۳۳ از دوره جامع Python 🐍
🐍 آموزش جامع Python — پست ۳۴
چند حالت شرطی |
گاهی فقط دو حالت نداریم؛ مثلاً نمره میتواند قبول، متوسط یا ضعیف باشد.
برای چند شرط از
🔹 ساختار
دقت کن:
بعد از
🔹 مثال
خروجی:
چون شرط
🔹 مثال تعاملی
مثلاً:
یا:
⚠️ نکته مهم
در یک زنجیرهی
🎯 تمرین
برنامهای بنویس که نمره را از کاربر بگیرد و:
پست ۳۴ از دوره جامع Python 🐍
چند حالت شرطی |
elifگاهی فقط دو حالت نداریم؛ مثلاً نمره میتواند قبول، متوسط یا ضعیف باشد.
برای چند شرط از
elif استفاده میکنیم.🔹 ساختار
if condition:
code
elif condition:
code
else:
code
دقت کن:
if اولین شرط است.elif برای شرطهای بعدی است.else برای زمانی است که هیچکدام درست نباشند.بعد از
if، elif و else علامت : قرار میگیرد.🔹 مثال
score = 75
if score >= 90:
print("Excellent")
elif score >= 50:
print("Passed")
else:
print("Failed")
خروجی:
Passed
چون شرط
score >= 90 نادرست است، اما score >= 50 درست است.🔹 مثال تعاملی
score = int(input("Enter your score: "))
if score >= 90:
print("Excellent")
elif score >= 50:
print("Passed")
else:
print("Failed")مثلاً:
Enter your score: 95
Excellent
یا:
Enter your score: 30
Failed
⚠️ نکته مهم
در یک زنجیرهی
if / elif / else فقط اولین شرط درست اجرا میشود.🎯 تمرین
برنامهای بنویس که نمره را از کاربر بگیرد و:
90 به بالا → Excellent
50 تا 89 → Passed
کمتر از 50 → Failed
پست ۳۴ از دوره جامع Python 🐍
🐍 آموزش جامع Python — پست ۳۵
چند شرط با
در پست قبل با
میتوانیم چند
🔹 مثال
مثلاً اگر کاربر وارد کند:
خروجی:
⚠️ ترتیب شرطها مهم است
Python شرطها را از بالا به پایین بررسی میکند.
به محض اینکه یک شرط
پس معمولاً شرطهای بزرگتر را قبل از شرطهای کوچکتر قرار میدهیم.
🔹 یک مثال سادهتر
🎯 تمرین
برنامهای بنویس که عدد را از کاربر بگیرد و مشخص کند:
پست ۳۵ از دوره جامع Python 🐍
چند شرط با
elifدر پست قبل با
elif آشنا شدیم.میتوانیم چند
elif پشت سر هم داشته باشیم تا حالتهای مختلف را بررسی کنیم.🔹 مثال
score = int(input("Enter your score: "))
if score >= 90:
print("Excellent")
elif score >= 75:
print("Very Good")
elif score >= 50:
print("Passed")
else:
print("Failed")مثلاً اگر کاربر وارد کند:
Enter your score: 80
خروجی:
Very Good
⚠️ ترتیب شرطها مهم است
Python شرطها را از بالا به پایین بررسی میکند.
به محض اینکه یک شرط
True باشد، همان بلوک اجرا میشود و بقیه بررسی نمیشوند.پس معمولاً شرطهای بزرگتر را قبل از شرطهای کوچکتر قرار میدهیم.
🔹 یک مثال سادهتر
number = int(input("Enter a number: "))
if number > 0:
print("Positive")
elif number < 0:
print("Negative")
else:
print("Zero")🎯 تمرین
برنامهای بنویس که عدد را از کاربر بگیرد و مشخص کند:
مثبت → Positive
منفی → Negative
صفر → Zero
پست ۳۵ از دوره جامع Python 🐍
🐍 آموزش جامع Python — پست ۳۶
شرطهای ترکیبی با
گاهی برای تصمیمگیری به چند شرط همزمان نیاز داریم.
🔹 استفاده از
با
برای ورود، هر دو شرط باید درست باشند.
🔹 استفاده از
با
⚠️ نکته مهم
برای ترکیب چند شرط میتوانیم از پرانتز
🎯 تمرین
برنامهای بنویس که سن و نمره را از کاربر بگیرد و فقط وقتی هر دو شرط برقرار بودند،
پست ۳۶ از دوره جامع Python 🐍
شرطهای ترکیبی با
and و orگاهی برای تصمیمگیری به چند شرط همزمان نیاز داریم.
🔹 استفاده از
andبا
and باید همه شرطها True باشند:age = int(input("Enter your age: "))
has_id = input("Do you have an ID? ")
if age >= 18 and has_id == "yes":
print("Access granted")
else:
print("Access denied")برای ورود، هر دو شرط باید درست باشند.
🔹 استفاده از
orبا
or کافی است حداقل یکی از شرطها True باشد:username = input("Enter username: ")
if username == "admin" or username == "root":
print("Valid user")
else:
print("Unknown user")⚠️ نکته مهم
and → همه شرطها باید درست باشند.or → حداقل یک شرط باید درست باشد.برای ترکیب چند شرط میتوانیم از پرانتز
() استفاده کنیم:if (age >= 18 and has_id == "yes") or username == "admin":
print("Access granted")
🎯 تمرین
برنامهای بنویس که سن و نمره را از کاربر بگیرد و فقط وقتی هر دو شرط برقرار بودند،
Accepted را چاپ کند:سن حداقل 18
نمره حداقل 50
پست ۳۶ از دوره جامع Python 🐍
🐍 آموزش جامع Python — پست ۳۷
شرطهای تو در تو | Nested
گاهی یک شرط فقط زمانی باید بررسی شود که شرط دیگری درست باشد.
در این حالت میتوانیم یک
🔹 مثال
اینجا ابتدا سن بررسی میشود.
اگر سن حداقل ۱۸ باشد، شرط داشتن کارت شناسایی بررسی میشود.
⚠️ نکته مهم
هر
علامت
🎯 تمرین
برنامهای بنویس که سن و رمز عبور را از کاربر بگیرد.
فقط اگر:
باشد، عبارت زیر چاپ شود:
پست ۳۷ از دوره جامع Python 🐍
شرطهای تو در تو | Nested
ifگاهی یک شرط فقط زمانی باید بررسی شود که شرط دیگری درست باشد.
در این حالت میتوانیم یک
if را داخل if دیگر قرار دهیم.🔹 مثال
age = int(input("Enter your age: "))
if age >= 18:
has_id = input("Do you have an ID? ")
if has_id == "yes":
print("Access granted")
else:
print("ID required")
else:
print("You are under 18")اینجا ابتدا سن بررسی میشود.
اگر سن حداقل ۱۸ باشد، شرط داشتن کارت شناسایی بررسی میشود.
⚠️ نکته مهم
هر
if داخلی باید تورفتگی (indentation) مناسب داشته باشد:if condition:
if another_condition:
print("...")
علامت
: بعد از هر if ضروری است.🎯 تمرین
برنامهای بنویس که سن و رمز عبور را از کاربر بگیرد.
فقط اگر:
سن >= 18
رمز عبور == "1234"
باشد، عبارت زیر چاپ شود:
Login successful
پست ۳۷ از دوره جامع Python 🐍
👍1
🐍 آموزش جامع Python — پست ۳۸
منطق چند شرط با
گاهی یک تصمیم به دو شرط وابسته است.
برای ترکیب شرطها از
🔹
مثلاً برای ورود، هم سن باید حداقل ۱۸ باشد و هم رمز درست باشد:
دو شرط داریم:
چون هر دو
پس ورود انجام میشود.
اگر یکی از آنها
بنابراین در
🔹
مثلاً کاربر میتواند
اگر:
داریم:
پس شرط اجرا میشود.
در
بنابراین:
🔥 مقایسه مستقیم
فرض کنیم:
با
نتیجه:
چون هر دو شرط
اما با
نتیجه:
چون حداقل یکی
پس:
🔹 پرانتز
پرانتز مشخص میکند کدام بخش از شرط با هم گروهبندی شود.
مثلاً:
طبق اولویت عملگرها،
اما:
ابتدا پرانتز:
پس:
⚠️ پرانتز میتواند منطق و نتیجه شرط را تغییر دهد.
🧠 خلاصه
🎯 تمرین
خروجی هر خط را قبل از اجرا حدس بزن:
پست ۳۸ از دوره جامع Python 🐍
منطق چند شرط با
and و orگاهی یک تصمیم به دو شرط وابسته است.
برای ترکیب شرطها از
and و or استفاده میکنیم.🔹
and | هر دو شرط باید درست باشندمثلاً برای ورود، هم سن باید حداقل ۱۸ باشد و هم رمز درست باشد:
age = 20
password = "1234"
if age >= 18 and password == "1234":
print("Login successful")
دو شرط داریم:
age >= 18 → True
password == "1234" → True
چون هر دو
True هستند:True and True → True
پس ورود انجام میشود.
اگر یکی از آنها
False باشد:True and False → False
False and True → False
False and False → False
بنابراین در
and:همه شرطها باید
Trueباشند.
🔹
or | حداقل یکی از شرطها کافی استمثلاً کاربر میتواند
admin یا root باشد:username = input("Enter username: ")
if username == "admin" or username == "root":
print("Valid username")
else:
print("Invalid username")اگر:
username == "admin" → True
username == "root" → False
داریم:
True or False → True
پس شرط اجرا میشود.
در
or:True or True → True
True or False → True
False or True → True
False or False → False
بنابراین:
فقط وقتی همه شرطها
Falseباشند،
orنتیجه
Falseمیدهد.
🔥 مقایسه مستقیم
فرض کنیم:
A = True
B = False
با
and:print(A and B)
نتیجه:
False
چون هر دو شرط
True نیستند.اما با
or:print(A or B)
نتیجه:
True
چون حداقل یکی
True است.پس:
A = True
B = False
A and B → False
A or B → True
🔹 پرانتز
() چه کاری انجام میدهد؟پرانتز مشخص میکند کدام بخش از شرط با هم گروهبندی شود.
مثلاً:
A = True
B = False
C = False
print(A or B and C)
طبق اولویت عملگرها،
and قبل از or بررسی میشود:A or (B and C)
True or (False and False)
True
اما:
print((A or B) and C)
ابتدا پرانتز:
(A or B) and C
(True or False) and False
True and False
False
پس:
A or B and C → True
(A or B) and C → False
⚠️ پرانتز میتواند منطق و نتیجه شرط را تغییر دهد.
🧠 خلاصه
and → همه شرطها باید True باشند
or → حداقل یک شرط باید True باشد
() → شرطها را گروهبندی و ترتیب را مشخص میکند
🎯 تمرین
خروجی هر خط را قبل از اجرا حدس بزن:
A = True
B = False
print(A and B)
print(A or B)
print((A or B) and B)
print(A or (B and B))
پست ۳۸ از دوره جامع Python 🐍
👍1
🐍 آموزش جامع Python — پست ۳۹
عملگر
با
یعنی:
🔹 مثال ساده
خروجی:
چون:
🔹 استفاده در
چون کاربر وارد نشده،
🔹 جدول
شرط
⚠️ نکته مهم
مثلاً:
ابتدا:
سپس:
🔹 ترکیب با
پرانتز باعث میشود
🎯 تمرین
خروجی را قبل از اجرا حدس بزن:
پست ۳۹ از دوره جامع Python 🐍
عملگر
not | برعکس کردن شرطبا
not نتیجه منطقی یک شرط را معکوس میکنیم.یعنی:
True → False
False → True
🔹 مثال ساده
is_admin = False
print(not is_admin)
خروجی:
True
چون:
is_admin → False
not False → True
🔹 استفاده در
ifis_logged_in = False
if not is_logged_in:
print("Please login")
چون کاربر وارد نشده،
not مقدار False را به True تبدیل میکند.🔹 جدول
notشرط
not شرطTrueFalseFalseTrue⚠️ نکته مهم
not روی نتیجه عبارت عمل میکند.مثلاً:
age = 15
print(not age >= 18)
ابتدا:
age >= 18 → False
سپس:
not False → True
🔹 ترکیب با
and و orage = 20
has_id = False
if not (age >= 18 and has_id):
print("Access denied")
پرانتز باعث میشود
not روی کل عبارت اعمال شود:(age >= 18 and has_id)
(True and False)
False
not False
True
🎯 تمرین
خروجی را قبل از اجرا حدس بزن:
A = True
B = False
print(not A)
print(not B)
print(not (A and B))
print(not (A or B))
پست ۳۹ از دوره جامع Python 🐍
👍1
🐍 آموزش جامع Python — پست ۴۰
ترکیب
در پستهای قبل با
حالا میتوانیم این عملگرها را با هم ترکیب کنیم.
🔹 ترکیب
ابتدا داخل پرانتز بررسی میشود:
سپس:
پس
🔹 ترکیب
داخل پرانتز:
سپس:
پس پیام
⚠️ نکته مهم
وقتی چند عملگر را ترکیب میکنیم، پرانتز خوانایی و منطق شرط را واضحتر میکند.
مثلاً:
با:
یک معنی ندارند.
پس اگر منطق شرط پیچیده شد، از
🧠 خلاصه
🎯 تمرین
خروجی هر خط را قبل از اجرا حدس بزن:
پست ۴۰ از دوره جامع Python 🐍
ترکیب
not با and و orدر پستهای قبل با
and، or و not آشنا شدیم.حالا میتوانیم این عملگرها را با هم ترکیب کنیم.
🔹 ترکیب
not و andage = 20
has_id = True
if not (age >= 18 and has_id):
print("Access denied")
else:
print("Access granted")
ابتدا داخل پرانتز بررسی میشود:
age >= 18 → True
has_id → True
True and True → True
سپس:
not True → False
پس
else اجرا میشود.🔹 ترکیب
not و orusername = "guest"
if not (username == "admin" or username == "root"):
print("Access denied")
داخل پرانتز:
username == "admin" → False
username == "root" → False
False or False → False
سپس:
not False → True
پس پیام
Access denied نمایش داده میشود.⚠️ نکته مهم
وقتی چند عملگر را ترکیب میکنیم، پرانتز خوانایی و منطق شرط را واضحتر میکند.
مثلاً:
not (A and B)
با:
(not A) and B
یک معنی ندارند.
پس اگر منطق شرط پیچیده شد، از
() استفاده کن.🧠 خلاصه
not → نتیجه را معکوس میکند
and → همه شرطها باید True باشند
or → حداقل یک شرط باید True باشد
() → بخشهای شرط را گروهبندی میکند
🎯 تمرین
خروجی هر خط را قبل از اجرا حدس بزن:
A = True
B = False
print(not A)
print(not B)
print(not (A and B))
print(not (A or B))
پست ۴۰ از دوره جامع Python 🐍
👍1
🐍 آموزش جامع Python — پست ۴۱
قوانین دمورگان | سادهسازی شرطها
گاهی میتوانیم یک شرط پیچیده را به شکل دیگری بنویسیم، بدون اینکه نتیجه منطقی آن تغییر کند.
این قوانین را قوانین دمورگان (De Morgan's Laws) مینامیم.
🔹 قانون اول
معادل منطقی آن:
مثال:
هر دو خروجی:
🔹 قانون دوم
معادل منطقی آن:
مثال:
هر دو خروجی:
🧠 نکته مهم
وقتی
همینطور:
تبدیل میشود به:
⚠️ اشتباه رایج
این دو معادل نیستند:
عملگر وسط باید از
🎯 تمرین
عبارت معادل هرکدام را بنویس:
پست ۴۱ از دوره جامع Python 🐍
قوانین دمورگان | سادهسازی شرطها
گاهی میتوانیم یک شرط پیچیده را به شکل دیگری بنویسیم، بدون اینکه نتیجه منطقی آن تغییر کند.
این قوانین را قوانین دمورگان (De Morgan's Laws) مینامیم.
🔹 قانون اول
not (A and B)
معادل منطقی آن:
(not A) or (not B)
مثال:
A = True
B = False
print(not (A and B))
print((not A) or (not B))
هر دو خروجی:
True
🔹 قانون دوم
not (A or B)
معادل منطقی آن:
(not A) and (not B)
مثال:
A = False
B = False
print(not (A or B))
print((not A) and (not B))
هر دو خروجی:
True
🧠 نکته مهم
وقتی
not وارد پرانتز میشود:not (A and B)
and به or تبدیل میشود و هر شرط هم not میگیرد:(not A) or (not B)
همینطور:
not (A or B)
تبدیل میشود به:
(not A) and (not B)
⚠️ اشتباه رایج
این دو معادل نیستند:
not (A and B)
(not A) and (not B)
عملگر وسط باید از
and به or تغییر کند.🎯 تمرین
عبارت معادل هرکدام را بنویس:
not (A and B)
not (A or B)
پست ۴۱ از دوره جامع Python 🐍
🐍 آموزش جامع Python — پست ۴۲
منطق برگشت مقدار در
در Python،
🔹 رفتار
در:
Python ابتدا
اگر
اگر
مثال:
خروجی:
چون
اما:
خروجی:
چون
🔹 رفتار
در:
Python ابتدا
اگر
اگر
مثال:
خروجی:
اما:
خروجی:
🧠 قانون اصلی
یعنی
🔥 مثال کاربردی
میتوانیم یک مقدار پیشفرض تعیین کنیم:
چون
اگر:
خروجی:
⚠️ نکته مهم: Short-Circuit
Python در
مثلاً:
اینجا خطای تقسیم بر صفر نمیگیریم؛ چون
در
🎯 تمرین
خروجی هر خط را قبل از اجرا حدس بزن:
پست ۴۲ از دوره جامع Python 🐍
منطق برگشت مقدار در
and و orدر Python،
and و or همیشه True یا False برنمیگردانند؛ ممکن است خودِ یکی از مقادیر را برگردانند.🔹 رفتار
andدر:
A and B
Python ابتدا
A را بررسی میکند.اگر
A مقدار Falsy باشد، همان A را برمیگرداند و B را بررسی نمیکند.اگر
A مقدار Truthy باشد، B را برمیگرداند.مثال:
print("" and "Python")خروجی:
""
چون
"" خالی است و Falsy محسوب میشود.اما:
print("Hello" and "Python")خروجی:
Python
چون
"Hello" Truthy است، بنابراین مقدار دوم برگردانده میشود.🔹 رفتار
orدر:
A or B
Python ابتدا
A را بررسی میکند.اگر
A مقدار Truthy باشد، همان A را برمیگرداند و B را بررسی نمیکند.اگر
A مقدار Falsy باشد، B را برمیگرداند.مثال:
print("Hello" or "Python")خروجی:
Hello
اما:
print("" or "Python")خروجی:
Python
🧠 قانون اصلی
A and B
اگر A → Falsy باشد: A
اگر A → Truthy باشد: B
A or B
اگر A → Truthy باشد: A
اگر A → Falsy باشد: B
یعنی
and و or در واقع یکی از عملوندها (operands) را برمیگردانند.🔥 مثال کاربردی
میتوانیم یک مقدار پیشفرض تعیین کنیم:
name = ""
result = name or "Unknown"
print(result)
چون
name خالی و Falsy است:Unknown
اگر:
name = "Ali"
result = name or "Unknown"
print(result)
خروجی:
Ali
⚠️ نکته مهم: Short-Circuit
Python در
and و or همیشه عبارت دوم را اجرا نمیکند.مثلاً:
x = False
result = x and (10 / 0)
اینجا خطای تقسیم بر صفر نمیگیریم؛ چون
x از قبل Falsy است و Python دیگر عبارت دوم را بررسی نمیکند.در
or نیز اگر مقدار اول Truthy باشد، عبارت دوم بررسی نمیشود.🎯 تمرین
خروجی هر خط را قبل از اجرا حدس بزن:
print("" and "Python")
print("Python" and "Code")
print("" or "Python")
print("Python" or "Code")
print(0 or 100)
print(10 and 20)پست ۴۲ از دوره جامع Python 🐍