পাইথনে if স্টেটমেন্ট সহ শর্তসাপেক্ষ শাখা ব্যাখ্যা করুন।
- if স্টেটমেন্টের বেসিক (if, elif, else)
- তুলনা অপারেটর, ইত্যাদির সাথে শর্ত উল্লেখ করুন।
- সংখ্যা, তালিকা, ইত্যাদি দ্বারা শর্ত উল্লেখ করুন।
- যৌক্তিক অপারেটরগুলির সাথে একাধিক শর্ত বা নেতিবাচকতা নির্দিষ্ট করুন (এবং, বা না)
- নতুন লাইন এবং একাধিক লাইনে শর্তাধীন এক্সপ্রেশন
এছাড়াও একটি ত্রিদেশীয় অপারেটর রয়েছে যা একটি লাইনে একটি শর্তাধীন শাখা বর্ণনা করে। নিম্নলিখিত নিবন্ধ দেখুন.
if স্টেটমেন্টের বেসিক (if, elif, else)
if স্টেটমেন্টের মৌলিক রূপটি নিম্নরূপ
if Conditional expression 1:
`Processing to be performed if Expression 1 is True.`
elif Conditional expression 2:
`Processing to be performed when expression 1 is false and expression 2 is true.`
elif Expression 3:
`Process when expression 1 and 2 are false and expression 3 is true.`
...
else:
`Processing when all conditionals are false.`
“এলিফ” সি এবং অন্যান্য ভাষায় “অন্য ইফ” এর সাথে মিলে যায় এবং “এলিফ” এর যে কোনো সংখ্যা থাকতে পারে।
যদি শুধুমাত্র একটি শর্তসাপেক্ষ অভিব্যক্তি বা প্রসেসিং থাকে যখন মিথ্যার প্রয়োজন না হয়, “elif” এবং “অন্য” ব্লকগুলি বাদ দেওয়া যেতে পারে।
তুলনা অপারেটর, ইত্যাদির সাথে শর্ত উল্লেখ করুন।
একটি অপারেশন সহ শর্তটি নির্দিষ্ট করুন যা একটি বুল টাইপ (সত্য, মিথ্যা), যেমন একটি তুলনা অপারেটর প্রদান করে।
পাইথন তুলনা অপারেটর নিম্নরূপ
অপারেটর | ফলাফল |
---|---|
x < y | সত্য যদি x y থেকে কম হয় |
x <= y | সত্য যদি x y এর থেকে কম বা সমান হয় |
x > y | সত্য যদি x y থেকে বড় হয় |
x >= y | সত্য যদি x y এর থেকে বড় বা সমান হয় |
x == y | x এবং y মান সমান হলে সত্য |
x != y
x is y
x is not y
x in y
x not in y
উদাহরণ। সুবিধার জন্য, এটি def স্টেটমেন্ট সহ একটি ফাংশন হিসাবে সংজ্ঞায়িত করা হয়।
def if_test(num):
if num > 100:
print('100 < num')
elif num > 50:
print('50 < num <= 100')
elif num > 0:
print('0 < num <= 50')
elif num == 0:
print('num == 0')
else:
print('num < 0')
if_test(1000)
# 100 < num
if_test(70)
# 50 < num <= 100
if_test(0)
# num == 0
if_test(-100)
# num < 0
নিম্নলিখিতটি এমনভাবে লেখা যেতে পারে যা পাইথনের অনন্য। বিস্তারিত জানার জন্য নিম্নলিখিত নিবন্ধ দেখুন.a < x < b
def if_test2(num):
if 50 < num < 100:
print('50 < num < 100')
else:
print('num <= 50 or num >= 100')
if_test2(70)
# 50 < num < 100
if_test2(0)
# num <= 50 or num >= 100
#ERROR!
!=
উপরের মানগুলির তুলনা; বস্তুর পরিচয় তুলনা করতে, নিম্নলিখিত ব্যবহার করুন
is
is not
উদাহরণস্বরূপ, একটি পূর্ণসংখ্যা এবং একটি ফ্লোটিং-পয়েন্ট সংখ্যার তুলনা করার সময়, “==” মানগুলি সমতুল্য হলে সত্য প্রদান করে, কিন্তু “is” মিথ্যা প্রদান করে কারণ তারা ভিন্ন বস্তু।
i = 10
print(type(i))
# <class 'int'>
f = 10.0
print(type(f))
# <class 'float'>
print(i == f)
# True
print(i is f)
# False
একটি তালিকা বা একটি স্ট্রিং একটি নির্দিষ্ট উপাদান (অক্ষর) রয়েছে কিনা তা শর্ত তৈরি করাও সম্ভব।
in
:অন্তর্ভুক্তnot in
:অন্তরগত
def if_test_in(s):
if 'a' in s:
print('a is in string')
else:
print('a is NOT in string')
if_test_in('apple')
# a is in string
if_test_in('melon')
# a is NOT in string
সংখ্যা, তালিকা, ইত্যাদি দ্বারা শর্ত উল্লেখ করুন।
একটি if স্টেটমেন্টের শর্তসাপেক্ষ অভিব্যক্তিটি একটি সংখ্যা, তালিকা বা অন্য বস্তু হতে পারে যা বুলের (সত্য, মিথ্যা) টাইপের নয়।
if 10:
print('True')
# True
if [0, 1, 2]:
print('True')
# True
Python if স্টেটমেন্টের শর্তসাপেক্ষ অভিব্যক্তিতে, নিম্নলিখিত বস্তুগুলিকে মিথ্যা বলে গণ্য করা হয়।
- ধ্রুবক মিথ্যা হতে সংজ্ঞায়িত:
None
,false
- সাংখ্যিক প্রকারে শূন্য:
0
,0
,0j
,Decimal(0)
,Fraction(0, 1)
- খালি ক্রম বা সংগ্রহ:
'
,()
,[]
,{}
,set()
,range(0)
Truth Value Testing — Built-in Types — Python 3.10.4 Documentation
শূন্য, খালি স্ট্রিং, তালিকা, ইত্যাদি প্রতিনিধিত্বকারী সংখ্যাগুলি মিথ্যা বলে বিবেচিত হয়; অন্য সব সত্য বলে বিবেচিত হয়।
বস্তুটি কীভাবে বিচার করা হয় তা bool() দিয়ে চেক করা যেতে পারে।
print(bool(10))
# True
print(bool(0.0))
# False
print(bool([]))
# False
print(bool('False'))
# True
উদাহরণস্বরূপ, তালিকাটি খালি থাকলে প্রক্রিয়াটি লিখতে এটি ব্যবহার করা যেতে পারে।
def if_test_list(l):
if l:
print('list is NOT empty')
else:
print('list is empty')
if_test_list([0, 1, 2])
# list is NOT empty
if_test_list([])
# list is empty
মনে রাখবেন যে স্ট্রিংটি ‘ফলস’ও সত্য হবে, কারণ উপরের উদাহরণে দেখানো হয়েছে, স্ট্রিংটিতে খালি না থাকা যেকোনো স্ট্রিং সত্য হবে।’ ‘True’ বা ‘False’-এর মতো একটি নির্দিষ্ট স্ট্রিংকে 1,0-এ রূপান্তর করতে distutils.util মডিউলে strtobool() ব্যবহার করুন।
যৌক্তিক অপারেটরগুলির সাথে একাধিক শর্ত বা নেতিবাচকতা নির্দিষ্ট করুন (এবং, বা না)
লজিক্যাল অপারেটর (এবং, বা, না) লজিক্যাল সংযোগ, যৌক্তিক বিচ্ছিন্নতা, এবং একাধিক শর্তের অস্বীকার পরিচালনা করতে ব্যবহার করা যেতে পারে।
অপারেটর | (ফলাফল (if স্টেটমেন্টের শর্তসাপেক্ষ অভিব্যক্তিতে) |
---|---|
x and y | সত্য যদি x এবং y উভয়ই সত্য হয় |
x or y | সত্য যদি x বা y হয় |
not x | মিথ্যা হলে x সত্য, সত্য যদি x মিথ্যা হয় |
def if_test_and_not(num):
if num >= 0 and not num % 2 == 0:
print('num is positive odd')
else:
print('num is NOT positive odd')
if_test_and_not(5)
# num is positive odd
if_test_and_not(10)
# num is NOT positive odd
if_test_and_not(-10)
# num is NOT positive odd
আসলে, “x এবং y” এবং “x বা y” সত্য বা মিথ্যা ফেরত দেয় না, তবে হয় x বা y। যতক্ষণ পর্যন্ত তারা if স্টেটমেন্টে শর্তসাপেক্ষ অভিব্যক্তিতে ব্যবহার করা হয়, ততক্ষণ সেগুলি নিয়ে চিন্তা করার দরকার নেই, যেহেতু তারা সত্য বা মিথ্যার মূল্যায়ন করে। বিস্তারিত জানার জন্য নিম্নলিখিত নিবন্ধ দেখুন.
এটি ব্যবহার করা সম্ভব এবং এবং বা একাধিকবার।
def if_test_and_not_or(num):
if num >= 0 and not num % 2 == 0 or num == -10:
print('num is positive odd or -10')
else:
print('num is NOT positive odd or -10')
if_test_and_not_or(5)
# num is positive odd or -10
if_test_and_not_or(10)
# num is NOT positive odd or -10
if_test_and_not_or(-10)
# num is positive odd or -10
নতুন লাইন এবং একাধিক লাইনে শর্তাধীন এক্সপ্রেশন
যখন একাধিক কন্ডিশনাল এক্সপ্রেশনকে “এবং” বা “অথবা” এর সাথে সংযুক্ত করে ব্যবহার করা হয় এবং প্রতিটি লাইন দীর্ঘ হয়ে যায়, তখন কখনও কখনও শর্তসাপেক্ষ অভিব্যক্তি ভেঙে একাধিক লাইনে লিখতে হয়।
একটি ব্যাকস্ল্যাশ ব্যবহার করে বা বন্ধনীতে পুরো লাইনটি আবদ্ধ করে একটি লাইন বিরতি করা যেতে পারে।
def if_test_and_backslash(num):
if num >= 0 \
and not num % 2 == 0:
print('num is positive odd')
else:
print('num is NOT positive odd')
if_test_and_backslash(5)
# num is positive odd
def if_test_and_brackets(num):
if (num >= 0
and not num % 2 == 0):
print('num is positive odd')
else:
print('num is NOT positive odd')
if_test_and_brackets(5)
# num is positive odd
আপনি যতবার খুশি একটি লাইন ভাঙতে ব্যাকস্ল্যাশ ব্যবহার করতে পারেন। একইভাবে, আপনি বন্ধনীর মধ্যে যে কোনো সংখ্যক বার একটি লাইন ভাঙতে পারেন। কোন ইন্ডেন্টেশন সীমা নেই.
মনে রাখবেন যে এটি এমন একটি কৌশল যা পাইথন কোডের যেকোনো জায়গায় ব্যবহার করা যেতে পারে, শুধুমাত্র if স্টেটমেন্টে নয়।
- সম্পর্কিত:পাইথনে একাধিক লাইনে লম্বা স্ট্রিং লেখা