নিচের প্রোগ্রামটি রান করলে যদি ইনপুট হিসাবে ০ দেই তাহলে ০ দ্বারা কোন কিছু ভাগ হয়না যার কারণে প্রোগ্রামটি থেমে যাবে পরের প্রিন্ট স্টেটমেন্টটি print('Yes You Are Success') রান হবে না।
roll = int(input("Enter Number:"))
print(10/roll)
print('Yes You Are Success')
আমরা চাই আমাদের প্রোগ্রাম এ যদি কোন এরর আসে তাহলে পরের লাইনের কোড যেন বন্ধ না হয় এজন্য try except ব্লক ব্যবহার করি
try:
roll = int(input("Enter Number :"))
print(10/roll)
except ZeroDivisionError:
print('0 is not devide')
print('Yes You Are Success')
মনে করুন, আপনি একটি ক্যালকুলেটর প্রোগ্রাম লেখতে যাচ্ছেন যেখানে ব্যবহারকারী দুটি সংখ্যা এবং একটি অপারেটর ইনপুট দেয় (+,-,*,/)।
num1= float(input('Enter The First Number :'))
num2 = float(input('Enter The Second Number :'))
operator = input("Enter an operator (+, -, *, /): ")
if operator == '+':
result = num1 + num2
elif operator == '-' :
result = num1 - num2
elif operator == '*' :
result = num1 * num2
elif operator == '/' :
result = num1 / num2
print (result)
প্রোগ্রামটি রান করি
প্রথম ইনপুট হিসাবে ৫০ দ্বিতীয় ইনপুট হিসাবে ৪০ এবং অপারেটর হিসাবে + দেই তাহলে যোগফল পাবো।
আমি যদি +,-,*,/ ছাড়া অন্য কোন ইনপুট দেই তাহলে এরর শো করে প্রোগ্রাম বন্ধ হয়ে যাবে যেমন আমি অপারেটর হিসাবে r অক্ষর দিলাম দেখি কি শো করে।
এই সমস্যা সমাধানের জন্য আমরা else ব্যবহার করতে পারি
num1= float(input('Enter The First Number :'))
num2 = float(input('Enter The Second Number :'))
operator = input("Enter an operator (+, -, *, /): ")
if operator == '+':
result = num1 + num2
elif operator == '-' :
result = num1 - num2
elif operator == '*' :
result = num1 * num2
elif operator == '/' :
result = num1 / num2
else:
print("Enter Valid Operator")
exit(1)
print (result)
মনে করি ইনপুট হিসাবে নাম্বারের পরিবর্তে অক্ষর দিলাম বা অন্য সিম্বল দিলাম এই সমস্যা সমাধানের জন্য try except ব্লক ব্যবহার করবো যদি কোন ইনপুট ভুল হয় তা except ব্লকে প্রিন্ট করে বলে দেব
try:
num1= float(input('Enter The First Number :'))
num2 = float(input('Enter The Second Number :'))
operator = input("Enter an operator (+, -, *, /): ")
if operator == '+':
result = num1 + num2
elif operator == '-':
result = num1 - num2
elif operator == '*':
result = num1 * num2
elif operator == '/':
result = num1 / num2
# +,-,*,/ পরিবর্তে অন্য অক্ষর দিলে শো করবে
else:
print("Enter Valid Operator")
exit(1)
#নাম্বারের পরিবর্তে অক্ষর দিলে শো করবে
except ValueError:
print("Error: Invalid input. Please enter valid numbers.")
exit(1)
আমি যদি ভাগ করার সময় ০ দেই তাহলে ভাগ করা সম্ভব না এই জাতীয় সমস্যা সমাধানের জন্য try... except ব্যবহার করতে হয়
try:
num1= float(input('Enter The First Number :'))
num2 = float(input('Enter The Second Number :'))
operator = input("Enter an operator (+, -, *, /): ")
if operator == '+':
result = num1 + num2
elif operator == '-':
result = num1 - num2
elif operator == '*':
result = num1 * num2
elif operator == '/':
try:
result = num1 / num2
except ZeroDivisionError:
print("Error: Division by zero is not allowed.")
exit(1)
else:
print("Enter Valid Operator")
exit(1)
except ValueError:
print("Error: Invalid input. Please enter valid numbers.")
exit(1)