Skip to content

Instantly share code, notes, and snippets.

@jabertuhin
Created April 5, 2021 14:51
Show Gist options
  • Save jabertuhin/3bb80a080f30366388b4e4b77196257a to your computer and use it in GitHub Desktop.
Save jabertuhin/3bb80a080f30366388b4e4b77196257a to your computer and use it in GitHub Desktop.
#!/usr/bin/env python
# coding: utf-8
# In[1]:
en_digit_to_bn_digit = {
0:"০", 1: "১", 2: "২", 3: "৩", 4: "৪", 5: "৫", 6: "৬", 7: "৭", 8: "৮", 9: "৯"
}
# In[2]:
def convert_to_bangla_number(en_number: int, conversion_map: dict) -> str:
converted_number = ""
while en_number > 0:
digit = en_number%10
en_number //= 10
converted_number = converted_number + conversion_map[digit]
return converted_number[::-1]
# In[3]:
# bn_number_to_word = {
# "১": "এক","২": "দুই","৩": "তিন","৪": "চার" ,"৫": "পাঁচ" ,"৬": "ছয়" ,"৭": "সাত" ,"৮": "আট","৯": "নয়" ,"১০": "দশ",
# "১১": "এগারো" ,"১২": "বারো", "১৩": "তেরো","১৪": "চৌদ্দ","১৫": "পনেরো","১৬": "ষোলো","১৭": "সতেরো","১৮": "আঠারো","১৯": "উনিশ","২০": "বিশ",
# "২১": "একুশ","২২": "বাইশ","২৩": "তেইশ","২৪": "চব্বিশ","২৫": "পঁচিশ","২৬": "ছাব্বিশ","২৭": "সাতাশ","২৮": "আটাশ","২৯": "ঊনত্রিশ","৩০": "ত্রিশ",
# "৩১": "একত্রিশ","৩২": "বত্রিশ","৩৩": "তেত্রিশ","৩৪": "চৌত্রিশ","৩৫": "পঁয়ত্রিশ","৩৬": "ছত্রিশ","৩৭": "সাঁইত্রিশ","৩৮": "আটত্রিশ","৩৯": "ঊনচল্লিশ","৪০": "চল্লিশ",
# "৪১": "একচল্লিশ","৪২": "বিয়াল্লিশ","৪৩": "তেতাল্লিশ","৪৪": "চুয়াল্লিশ","৪৫": "পঁয়তাল্লিশ","৪৬": "ছেচল্লিশ","৪৭": "সাতচল্লিশ","৪৮": "আটচল্লিশ","৪৯": "ঊনপঞ্চাশ","৫০": "পঞ্চাশ",
# "৫১": "একান্ন","৫২": "বাহান্ন","৫৩": "তিপ্পান্ন","৫৪": "চুয়ান্ন","৫৫": "পঞ্চান্ন","৫৬": "ছাপ্পান্ন","৫৭": "সাতান্ন","৫৮": "আটান্ন","৫৯": "ঊনষাট","৬০": "ষাট",
# "৬১": "একষট্টি","৬২": "বাষট্টি","৬৩": "তেষট্টি","৬৪": "চৌষট্টি","৬৫": "পঁয়ষট্টি","৬৬": "ছেষট্টি","৬৭": "সাতষট্টি","৬৮": "আটষট্টি","৬৯": "ঊনসত্তর","৭০": "সত্তর",
# "৭১": "একাত্তর","৭২": "বাহাত্তর","৭৩": "তিয়াত্তর","৭৪": "চুয়াত্তর","৭৫": "পঁচাত্তর","৭৬": "ছিয়াত্তর","৭৭": "সাতাত্তর","৭৮": "আটাত্তর","৭৯": "ঊনআশি","৮০": "আশি",
# "৮১": "আশি","৮২": "বিরাশি","৮৩": "তিরাশি","৮৪": "চুরাশি","৮৫": "পঁচাশি","৮৬": "ছিয়াশি","৮৭": "সাতাশি","৮৮": "আটাশি","৮৯": "ঊননব্বই","৯০": "নব্বই",
# "৯১": "একানব্বই","৯২": "বিরানব্বই","৯৩": "তিরানব্বই","৯৪": "চুরানব্বই","৯৫": "পঁচানব্বই","৯৬": "ছিয়ানব্বই","৯৭": "সাতানব্বই","৯৮": "আটানব্বই","৯৯": "নিরানব্বই"
# }
# In[4]:
en_number_to_bn_word = {
1: "এক",2: "দুই", 3: "তিন", 4: "চার" ,5: "পাঁচ" ,6: "ছয়" ,7: "সাত" ,8: "আট",9: "নয়" ,10: "দশ",
11: "এগারো" ,12: "বারো", 13: "তেরো",14: "চৌদ্দ",15: "পনেরো",16: "ষোলো",17: "সতেরো",18: "আঠারো",19: "উনিশ",20: "বিশ",
21: "একুশ",22: "বাইশ",23: "তেইশ",24: "চব্বিশ",25: "পঁচিশ",26: "ছাব্বিশ",27: "সাতাশ",28: "আটাশ",29: "ঊনত্রিশ",30: "ত্রিশ",
31: "একত্রিশ",32: "বত্রিশ",33: "তেত্রিশ",34: "চৌত্রিশ",35: "পঁয়ত্রিশ",36: "ছত্রিশ",37: "সাঁইত্রিশ",38: "আটত্রিশ",39: "ঊনচল্লিশ",40: "চল্লিশ",
41: "একচল্লিশ",42: "বিয়াল্লিশ",43: "তেতাল্লিশ",44: "চুয়াল্লিশ",45: "পঁয়তাল্লিশ",46: "ছেচল্লিশ",47: "সাতচল্লিশ",48: "আটচল্লিশ",49: "ঊনপঞ্চাশ",50: "পঞ্চাশ",
51: "একান্ন",52: "বাহান্ন",53: "তিপ্পান্ন",54: "চুয়ান্ন",55: "পঞ্চান্ন",56: "ছাপ্পান্ন",57: "সাতান্ন",58: "আটান্ন",59: "ঊনষাট",60: "ষাট",
61: "একষট্টি",62: "বাষট্টি",63: "তেষট্টি",64: "চৌষট্টি",65: "পঁয়ষট্টি",66: "ছেষট্টি",67: "সাতষট্টি",68: "আটষট্টি",69: "ঊনসত্তর",70: "সত্তর",
71: "একাত্তর",72: "বাহাত্তর",73: "তিয়াত্তর",74: "চুয়াত্তর",75: "পঁচাত্তর",76: "ছিয়াত্তর",77: "সাতাত্তর",78: "আটাত্তর",79: "ঊনআশি",80: "আশি",
81: "আশি",82: "বিরাশি",83: "তিরাশি",84: "চুরাশি",85: "পঁচাশি",86: "ছিয়াশি",87: "সাতাশি",88: "আটাশি",89: "ঊননব্বই",90: "নব্বই",
91: "একানব্বই",92: "বিরানব্বই",93: "তিরানব্বই",94: "চুরানব্বই",95: "পঁচানব্বই",96: "ছিয়ানব্বই",97: "সাতানব্বই",98: "আটানব্বই",99: "নিরানব্বই"
}
# In[5]:
MAX = 10001
en_number_list = [0]
bn_number_list = ["০"]
bn_word_list = ["শূন্য"]
for num in range(1, MAX):
bn_number = convert_to_bangla_number(num, en_digit_to_bn_digit)
if num < 100:
bn_word = en_number_to_bn_word[num]
elif num < 1000:
if num % 100:
bn_word = f"{en_number_to_bn_word[num//100]}শত {en_number_to_bn_word[num%100]}"
else:
bn_word = f"{en_number_to_bn_word[num//100]}শত"
elif num <= 10000:
if num % 1000:
bn_word = f"{en_number_to_bn_word[num//1000]} হাজার {en_number_to_bn_word[num%1000]}"
else:
bn_word = f"{en_number_to_bn_word[num//1000]} হাজার"
en_number_to_bn_word[num] = bn_word
bn_word_list.append(bn_word)
bn_number_list.append(bn_number)
en_number_list.append(num)
if num % 500 == 0:
print(f"{bn_number} = {bn_word}")
# In[6]:
print( len(bn_word_list), len(bn_number_list), len(en_number_list))
# In[7]:
import pandas as pd
dataset = pd.DataFrame({"en_number": en_number_list, "bn_number": bn_number_list, "bn_word": bn_word_list})
dataset.head()
# In[8]:
dataset.to_csv("bangla_numbers.csv", index=False)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment