نحوه ی تعریف اعداد ریاضی در ورودی و دریافت همان اعداد به صورت حروف در خروجی

بطور مثال : عدد 1276 ورودی باشد و خروجی one thousand and two hundred seventy six یا یک هزار دویست هفتاد و شش نمایش داده شود .

در هر دو مورد اینکه مجموعه ای از اعداد داشته باشیم و یا فقط یک عدد برای تبدیل کردن لطفا راهنمایی بفرمایید ، و همچنین اگر بخواهیم هر دو مورد تبدیل فارسی و انگلیسی را در کنار هم داشته باشیم کمک کنید لطفا ؟
با سپاس

با سلام
سوالی که مطرح کردید رو میتونید با نوشتن یک تابع انجام بدید. همچنین برای این کار پکیج هم داریم. لطفا لینک زیر رو ملاحظه بفرمایید.

3 پسندیده

def convert_number_to_words(num):
# دیکشنری اعداد به حروف فارسی
ones = [“”, “یک”, “دو”, “سه”, “چهار”, “پنج”, “شش”, “هفت”, “هشت”, “نه”]
tens = [“”, “ده”, “بیست”, “سی”, “چهل”, “پنجاه”, “شصت”, “هفتاد”, “هشتاد”, “نود”]
teens = [“ده”, “یازده”, “دوازده”, “سیزده”, “چهارده”, “پانزده”, “شانزده”, “هفده”, “هجده”, “نوزده”]

# بررسی اعداد بزرگتر از 99 (صد، هزار و ...)
if num == 0:
    return "صفر"

if num < 10:
    return ones[num]
elif num < 20:
    return teens[num - 10]
elif num < 100:
    return tens[num // 10] + ('' if num % 10 == 0 else ' و ' + ones[num % 10])
elif num < 1000:
    return ones[num // 100] + " صد" + ('' if num % 100 == 0 else ' و ' + convert_number_to_words(num % 100))
elif num < 1000000:
    return convert_number_to_words(num // 1000) + " هزار" + ('' if num % 1000 == 0 else ' و ' + convert_number_to_words(num % 1000))
elif num < 1000000000:
    return convert_number_to_words(num // 1000000) + " میلیون" + ('' if num % 1000000 == 0 else ' و ' + convert_number_to_words(num % 1000000))

ورودی عدد

number = int(input("عدد را وارد کنید: "))

دریافت خروجی به صورت حروف

print("عدد به حروف فارسی: ", convert_number_to_words(number))