দেওয়া একটি স্ট্রিং-এ বিল্ট-ইন ফাংশন ব্যবহার না করে আপারকেস এবং লোয়ারকেস ক্যারেক্টার গণনা করা।
অ্যালগরিদম
- ord() ফাংশন দিয়ে ASCII ভ্যালু চেক করা।
- দুটি কাউন্টার (upper, lower) ০ দিয়ে ইনিশিয়ালাইজ।
- স্ট্রিং ট্রাভার্স করে ASCII ভ্যালু চেক করে কাউন্টার বাড়ানো।
পাইথন কোড উদাহরণ
def upperlower(string):
upper = 0
lower = 0
for i in range(len(string)):
# লোয়ারকেস: ASCII 97-122
if ord(string[i]) >= 97 and ord(string[i]) <= 122:
lower += 1
# আপারকেস: ASCII 65-90
elif ord(string[i]) >= 65 and ord(string[i]) <= 90:
upper += 1
print('Lower case characters = %s' % lower, 'Upper case characters = %s' % upper)
string = 'Tutorialspoint'
upperlower(string)
আউটপুট
Lower case characters = 13 Upper case characters = 1
উপসংহার
ASCII ভ্যালু চেক করে বিল্ট-ইন isupper()/islower() ছাড়া কেস কাউন্ট করা।