30-Days-Of-Python/Persain/03_operators.md

16 KiB
Raw Permalink Blame History

۳۰ روز پایتون: روز ۳ - عملگرها

دنبال کردن در توییتر

نویسنده: Asabeneh Yetayeh
ویرایش دوم: ژوئیه ۲۰۲۱

<< روز ۲ | روز ۴ >>

30DaysOfPython

📘 روز ۳

بولین

نوع داده بولین (Boolean) یکی از دو مقدار را نشان می‌دهد: True یا False. استفاده از این نوع داده زمانی که شروع به استفاده از عملگرهای مقایسه‌ای کنیم، روشن خواهد شد. برخلاف جاوا اسکریپت، حرف اول T برای True و F برای False باید بزرگ باشد. مثال: مقادیر بولین

print(True)
print(False)

عملگرها

زبان پایتون از چندین نوع عملگر پشتیبانی می‌کند. در این بخش، ما بر روی تعدادی از آنها تمرکز خواهیم کرد.

عملگرهای انتساب

عملگرهای انتساب برای اختصاص دادن مقادیر به متغیرها استفاده می‌شوند. بیایید = را به عنوان مثال در نظر بگیریم. علامت مساوی در ریاضیات نشان می‌دهد که دو مقدار برابر هستند، اما در پایتون به این معنی است که ما در حال ذخیره یک مقدار در یک متغیر خاص هستیم و آن را انتساب یا اختصاص دادن مقدار به متغیر می‌نامیم. جدول زیر انواع مختلف عملگرهای انتساب پایتون را که از w3school گرفته شده است، نشان می‌دهد.

عملگرهای حسابی:

  • جمع (+): a + b
  • تفریق (-): a - b
  • ضرب (*): a * b
  • تقسیم (/): a / b
  • باقیمانده (%): a % b
  • تقسیم صحیح (//): a // b
  • توان (**): a ** b

مثال: اعداد صحیح

# عملیات حسابی در پایتون
# اعداد صحیح

print('جمع: ', 1 + 2)        # 3
print('تفریق: ', 2 - 1)     # 1
print('ضرب: ', 2 * 3)  # 6
print ('تقسیم: ', 4 / 2)       # 2.0  تقسیم در پایتون عدد اعشاری می‌دهد
print('تقسیم: ', 6 / 2)        # 3.0         
print('تقسیم: ', 7 / 2)        # 3.5
print('تقسیم بدون باقیمانده: ', 7 // 2)   # 3,  نتیجه را بدون بخش اعشاری یا باقیمانده می‌دهد
print ('تقسیم بدون باقیمانده: ',7 // 3)   # 2
print('باقیمانده: ', 3 % 2)         # 1, باقیمانده را می‌دهد
print('توان: ', 2 ** 3) # 8 یعنی 2 * 2 * 2

مثال: اعداد اعشاری

# اعداد اعشاری
print('عدد ممیز شناور، پی', 3.14)
print('عدد ممیز شناور، گرانش', 9.81)

مثال: اعداد مختلط

# اعداد مختلط
print('عدد مختلط: ', 1 + 1j)
print('ضرب اعداد مختلط: ',(1 + 1j) * (1 - 1j))

بیایید یک متغیر تعریف کرده و یک نوع داده عددی به آن اختصاص دهیم. من قصد دارم از متغیر تک کاراکتری استفاده کنم اما به یاد داشته باشید که عادت به تعریف چنین متغیرهایی نکنید. نام متغیرها باید همیشه یادآور (mnemonic) باشند.

مثال:

# ابتدا تعریف متغیر در بالا

a = 3 # a نام متغیر و 3 یک نوع داده صحیح است
b = 2 # b نام متغیر و 2 یک نوع داده صحیح است

# عملیات حسابی و اختصاص نتیجه به یک متغیر
total = a + b
diff = a - b
product = a * b
division = a / b
remainder = a % b
floor_division = a // b
exponential = a ** b

# من باید به جای total از sum استفاده می‌کردم اما sum یک تابع داخلی است - سعی کنید از بازنویسی توابع داخلی خودداری کنید
print(total) # اگر خروجی خود را با یک رشته برچسب‌گذاری نکنید، هرگز نمی‌دانید نتیجه از کجا آمده است
print('a + b = ', total)
print('a - b = ', diff)
print('a * b = ', product)
print('a / b = ', division)
print('a % b = ', remainder)
print('a // b = ', floor_division)
print('a ** b = ', exponential)

مثال:

print('== جمع، تفریق، ضرب، تقسیم، باقیمانده ==')

# تعریف مقادیر و سازماندهی آنها با هم
num_one = 3
num_two = 4

# عملیات حسابی
total = num_one + num_two
diff = num_two - num_one
product = num_one * num_two
div = num_two / num_one
remainder = num_two % num_one

# چاپ مقادیر با برچسب
print('مجموع: ', total)
print('تفاضل: ', diff)
print('حاصل‌ضرب: ', product)
print('تقسیم: ', div)
print('باقیمانده: ', remainder)

بیایید شروع به اتصال نقاط کنیم و از آنچه قبلاً یاد گرفته‌ایم برای محاسبه (مساحت، حجم، چگالی، وزن، محیط، فاصله، نیرو) استفاده کنیم.

مثال:

# محاسبه مساحت یک دایره
radius = 10                                 # شعاع یک دایره
area_of_circle = 3.14 * radius ** 2         # دو علامت * به معنای توان است
print('مساحت دایره:', area_of_circle)

# محاسبه مساحت یک مستطیل
length = 10
width = 20
area_of_rectangle = length * width
print('مساحت مستطیل:', area_of_rectangle)

# محاسبه وزن یک جسم
mass = 75
gravity = 9.81
weight = mass * gravity
print(weight, 'N')                         # افزودن واحد به وزن

# محاسبه چگالی یک مایع
mass = 75 # به کیلوگرم
volume = 0.075 # به متر مکعب
density = mass / volume # 1000 Kg/m^3
print(density, 'Kg/m^3') # افزودن واحد به چگالی

عملگرهای مقایسه‌ای

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

مثال: عملگرهای مقایسه‌ای

print(3 > 2)     # True، چون 3 بزرگتر از 2 است
print(3 >= 2)    # True، چون 3 بزرگتر از 2 است
print(3 < 2)     # False،  چون 3 بزرگتر از 2 است
print(2 < 3)     # True، چون 2 کوچکتر از 3 است
print(2 <= 3)    # True، چون 2 کوچکتر از 3 است
print(3 == 2)    # False، چون 3 مساوی 2 نیست
print(3 != 2)    # True، چون 3 مساوی 2 نیست
print(len('mango') == len('avocado'))  # False
print(len('mango') != len('avocado'))  # True
print(len('mango') < len('avocado'))   # True
print(len('milk') != len('meat'))      # False
print(len('milk') == len('meat'))      # True
print(len('tomato') == len('potato'))  # True
print(len('python') > len('dragon'))   # False


# مقایسه چیزی یا True می‌دهد یا False

print('True == True: ', True == True)
print('True == False: ', True == False)
print('False == False:', False == False)

علاوه بر عملگرهای مقایسه‌ای بالا، پایتون از موارد زیر نیز استفاده می‌کند:

  • is: اگر هر دو متغیر یک شیء یکسان باشند، true برمی‌گرداند (x is y)
  • is not: اگر هر دو متغیر یک شیء یکسان نباشند، true برمی‌گرداند (x is not y)
  • in: اگر لیست مورد نظر شامل یک آیتم خاص باشد، True برمی‌گرداند (x in y)
  • not in: اگر لیست مورد نظر شامل یک آیتم خاص نباشد، True برمی‌گرداند (x not in y)
print('1 is 1', 1 is 1)                   # True - چون مقادیر داده یکسان هستند
print('1 is not 2', 1 is not 2)           # True - چون 1 برابر 2 نیست
print('A in Asabeneh', 'A' in 'Asabeneh') # True - A در رشته پیدا شد
print('B not in Asabeneh', 'B' in 'Asabeneh') # False - حرف بزرگ B وجود ندارد
print('coding' in 'coding for all') # True - چون coding for all کلمه coding را دارد
print('a in an:', 'a' in 'an')      # True
print('4 is 2 ** 2:', 4 is 2 ** 2)   # True

عملگرهای منطقی

برخلاف سایر زبان‌های برنامه‌نویسی، پایتون از کلمات کلیدی and، or و not برای عملگرهای منطقی استفاده می‌کند. عملگرهای منطقی برای ترکیب عبارات شرطی استفاده می‌شوند:

print(3 > 2 and 4 > 3) # True - چون هر دو عبارت درست هستند
print(3 > 2 and 4 < 3) # False - چون عبارت دوم نادرست است
print(3 < 2 and 4 < 3) # False - چون هر دو عبارت نادرست هستند
print('True and True: ', True and True)
print(3 > 2 or 4 > 3)  # True - چون هر دو عبارت درست هستند
print(3 > 2 or 4 < 3)  # True - چون یکی از عبارت‌ها درست است
print(3 < 2 or 4 < 3)  # False - چون هر دو عبارت نادرست هستند
print('True or False:', True or False)
print(not 3 > 2)     # False - چون 3 > 2 درست است، پس not True نتیجه False می‌دهد
print(not True)      # False - نقیض، عملگر not مقدار true را به false تبدیل می‌کند
print(not False)     # True
print(not not True)  # True
print(not not False) # False

🌕 شما انرژی بی‌پایانی دارید. شما به تازگی چالش‌های روز سوم را به پایان رسانده‌اید و سه قدم در مسیر خود به سوی بزرگی جلوتر هستید. اکنون چند تمرین برای مغز و عضلات خود انجام دهید.

💻 تمرینات - روز ۳

  1. سن خود را به عنوان یک متغیر صحیح تعریف کنید.
  2. قد خود را به عنوان یک متغیر اعشاری تعریف کنید.
  3. یک متغیر تعریف کنید که یک عدد مختلط را ذخیره کند.
  4. اسکریپتی بنویسید که از کاربر بخواهد پایه و ارتفاع مثلث را وارد کند و مساحت این مثلث را محاسبه کند (مساحت = ۰.۵ * پایه * ارتفاع).
    پایه را وارد کنید: 20
    ارتفاع را وارد کنید: 10
    مساحت مثلث 100 است
  1. اسکریپتی بنویسید که از کاربر بخواهد ضلع a، ضلع b و ضلع c مثلث را وارد کند. محیط مثلث را محاسبه کنید (محیط = a + b + c).
ضلع a را وارد کنید: 5
ضلع b را وارد کنید: 4
ضلع c را وارد کنید: 3
محیط مثلث 12 است
  1. طول و عرض یک مستطیل را با استفاده از ورودی کاربر دریافت کنید. مساحت آن (مساحت = طول * عرض) و محیط آن (محیط = ۲ * (طول + عرض)) را محاسبه کنید.
  2. شعاع یک دایره را با استفاده از ورودی کاربر دریافت کنید. مساحت (مساحت = pi * r * r) و محیط (c = 2 * pi * r) آن را محاسبه کنید که در آن pi = 3.14 است.
  3. شیب، طول از مبدأ x و عرض از مبدأ y معادله y = 2x - 2 را محاسبه کنید.
  4. شیب (m = y2-y1/x2-x1) است. شیب و فاصله اقلیدسی بین نقطه (۲, ۲) و نقطه (۶, ۱۰) را پیدا کنید.
  5. شیب‌ها را در تمرین‌های ۸ و ۹ مقایسه کنید.
  6. مقدار y را (y = x^2 + 6x + 9) محاسبه کنید. مقادیر مختلف x را امتحان کنید و بفهمید در چه مقدار x، مقدار y برابر با ۰ می‌شود.
  7. طول 'python' و 'dragon' را پیدا کرده و یک عبارت مقایسه‌ای نادرست (False) بسازید.
  8. از عملگر and برای بررسی اینکه آیا 'on' در هر دو کلمه 'python' و 'dragon' یافت می‌شود، استفاده کنید.
  9. I hope this course is not full of jargon. از عملگر in برای بررسی اینکه آیا jargon در این جمله وجود دارد، استفاده کنید.
  10. 'on' در هر دو کلمه dragon و python وجود ندارد (این یک عبارت برای بررسی درستی یا نادرستی است، نه یک دستور).
  11. طول متن python را پیدا کرده و مقدار آن را به float و سپس به string تبدیل کنید.
  12. اعداد زوج بر ۲ بخش‌پذیر هستند و باقیمانده آنها صفر است. چگونه با استفاده از پایتون بررسی می‌کنید که یک عدد زوج است یا نه؟
  13. بررسی کنید که آیا حاصل تقسیم صحیح ۷ بر ۳ برابر با مقدار تبدیل شده int(2.7) است.
  14. بررسی کنید که آیا type('10') برابر با type(10) است.
  15. بررسی کنید که آیا int('9.8') برابر با 10 است.
  16. اسکریپتی بنویسید که از کاربر بخواهد ساعت‌ها و نرخ در ساعت را وارد کند. دستمزد شخص را محاسبه کنید.
ساعتها را وارد کنید: 40
نرخ در ساعت را وارد کنید: 28
درآمد هفتگی شما 1120 است
  1. اسکریپتی بنویسید که از کاربر بخواهد تعداد سال‌ها را وارد کند. تعداد ثانیه‌هایی که یک شخص می‌تواند زندگی کند را محاسبه کنید. فرض کنید یک شخص می‌تواند صد سال زندگی کند.
تعداد سالهایی که زندگی کردهاید را وارد کنید: 100
شما 3153600000 ثانیه زندگی کردهاید.
  1. یک اسکریپت پایتون بنویسید که جدول زیر را نمایش دهد.
1 1 1 1 1
2 1 2 4 8
3 1 3 9 27
4 1 4 16 64
5 1 5 25 125

🎉 تبریک می‌گویم! 🎉

<< روز ۲ | روز ۴ >>