এই টিউটোরিয়ালে আমরা পাইথনে ক্যারেক্টার ইনক্রিমেন্ট করার বিভিন্ন মেথড দেখব।
টাইপকাস্টিং
প্রথমে দেখি টাইপকাস্টিং ছাড়া চোরে ইন্ট যোগ করলে কী হয়।
উদাহরণ
## স্ট্রিং ইনিশিয়ালাইজ char = "t" ## চোরে ১ যোগ করার চেষ্টা char += 1 ## এরর আসবে
উপরের প্রোগ্রাম এক্সিকিউট করলে নিচের রেজাল্ট আসবে:
TypeError: must be str, not int
পাইথনে একটি ক্যারেক্টার ইনক্রিমেন্ট করতে হলে তাকে ইন্টিজার-এ রূপান্তর করে ১ যোগ করতে হয় এবং ফলাফল ইন্টিজার-কে আবার চোর-এ কাস্ট করতে হয়। এটি বিল্ট-ইন মেথড ord এবং chr দিয়ে অর্জন করা যায়।
উদাহরণ
## স্ট্রিং ইনিশিয়ালাইজ
char = "t"
## চোরকে ইন্টে রূপান্তর
i = ord(char[0])
## আমরা যেকোনো সংখ্যা যোগ করতে পারি
## ইনক্রিমেন্ট
i += 1
## ফলাফল ইন্টকে চোরে কাস্ট
## আমরা 'u' পাব
char = chr(i)
print(f"Alphabet after t is {char}")উপরের প্রোগ্রাম এক্সিকিউট করলে নিচের রেজাল্ট আসবে:
Alphabet after t is u
বাইটস (Bytes)
ক্যারেক্টার ইনক্রিমেন্ট করার আরেকটি পদ্ধতি হলো bytes ব্যবহার।
- স্ট্রিংকে bytes-এ রূপান্তর করুন।
- ফলাফল হবে একটি অ্যারে যেটিতে স্ট্রিং-এর সব ক্যারেক্টারের ASCII ভ্যালু রয়েছে।
- রূপান্তরিত bytes-এর প্রথম চোরে ১ যোগ করুন। ফলাফল হবে একটি ইন্ট।
- ইন্টকে চোর-এ রূপান্তর করুন।
উদাহরণ
## স্ট্রিং ইনিশিয়ালাইজ
char = "t"
## চোরকে বাইটসে রূপান্তর
b = bytes(char, 'utf-8')
## 'b'-এর প্রথম চোরে ১ যোগ
## b[0] এখানে 't'
b = b[0] + 1
## 'b'-কে চোরে রূপান্তর
print(f"Alphabet after incrementing ASCII value is {chr(b)}")উপরের প্রোগ্রাম এক্সিকিউট করলে নিচের রেজাল্ট আসবে:
Alphabet after incrementing ASCII value is u
যদি আমাদের একটি স্ট্রিং থাকে এবং সেটিকে bytes-এ রূপান্তর করি, তবে আমরা যেকোনো চোর ইনক্রিমেন্ট করতে পারি। একটি উদাহরণে দেখি।
উদাহরণ
## স্ট্রিং ইনিশিয়ালাইজ
name = "tutorialspoint"
## চোরকে বাইটসে রূপান্তর
b = bytes(name, 'utf-8')
## 'b'-এর 'a' চোরে ১ যোগ
## 'a'-র ইনডেক্স ৬
b = b[6] + 1
## 'b'-কে চোরে রূপান্তর
print(f"name after incrementing 'a' char is tutori{chr(b)}lspoint")উপরের প্রোগ্রাম এক্সিকিউট করলে নিচের রেজাল্ট আসবে:
name after incrementing 'a' char is tutoriblspoint
আশা করি আপনি কনসেপ্টটি ভালোভাবে বুঝতে পেরেছেন। টিউটোরিয়াল সংক্রান্ত যেকোনো সন্দেহ থাকলে কমেন্ট সেকশনে উল্লেখ করুন। Happy Coding :)