حالت آفلاین — محتوا از حافظهٔ کش نمایش داده می‌شود

تبدیل اعداد فارسی به انگلیسی

تمرین آسان 5546 visibility link download flag trending_up پربازدید

تابعی بنویسید که رشته ای دریافت کند و اعداد فارسی داخل آن را به اعداد انگلیسی تبدیل کند و برگرداند

👨‍💻 4 ساعت قبل کاربر ناشناس این تمرین رو مشاهده کرد

reply 16

visibility
این جواب فقط برای مشترکین ویژه قابل مشاهده است
این جواب فقط برای مشترکین ویژه قابل مشاهده است
این جواب فقط برای مشترکین ویژه قابل مشاهده است
let msg = 'error'
alert(msg) 
این جواب فقط برای مشترکین ویژه قابل مشاهده است
این جواب فقط برای مشترکین ویژه قابل مشاهده است

برای مشاهده این جواب باید اشتراک داشته باشی

دریافت اشتراک
این جواب فقط برای مشترکین ویژه قابل مشاهده است
این جواب فقط برای مشترکین ویژه قابل مشاهده است
این جواب فقط برای مشترکین ویژه قابل مشاهده است
let msg = 'error'
alert(msg) 
این جواب فقط برای مشترکین ویژه قابل مشاهده است
این جواب فقط برای مشترکین ویژه قابل مشاهده است

برای مشاهده این جواب باید اشتراک داشته باشی

دریافت اشتراک
این جواب فقط برای مشترکین ویژه قابل مشاهده است
این جواب فقط برای مشترکین ویژه قابل مشاهده است
این جواب فقط برای مشترکین ویژه قابل مشاهده است
let msg = 'error'
alert(msg) 
این جواب فقط برای مشترکین ویژه قابل مشاهده است
این جواب فقط برای مشترکین ویژه قابل مشاهده است

برای مشاهده این جواب باید اشتراک داشته باشی

دریافت اشتراک
#تبدیل اعداد انگلیسی به فارسی و برعکس
#اعداد فارسی از فارسی ساز کپی شده است
num = {
    '0':'۰',
    '1':'۱',
    '2':'۲',
    '3':'۳',
    '4':'۴',
    '5':'۵',
    '6':'۶',
    '7':'۷',
    '8':'۸',
    '9':'۹'
}
#تغییر جای کلید و مقادیر در دیکشنری بالا
rev = {v: k for k, v in num.items()} 
x = input('number:')
y = []
for char in x:
	y.append(char)
output = ''
if y[0] in num:       
	for char in x:
		output += num[char]
	print(output)
else:
	for char in x:
		output += rev[char]
	print(output)

جواب ناقص است، چون اگر جمله ورودی ، شامل ترکیبی از اعداد و حروف باشد، برنامه خطا می‌دهد! Bahman


def convert_farsi_to_english(text):
    farsi_digits = ['۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹']
    english_digits = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
    for farsi, english in zip(farsi_digits, english_digits):
        text = text.replace(farsi, english)
    return text

input_text = input("لطفاً رشته‌ای با اعداد فارسی وارد کنید: ")
output_text = convert_farsi_to_english(input_text)
print("رشته تبدیل شده:", output_text)

استفاده از تابع zip خوبه ولی ساده تر از اون ، استفاده از متد isdigit است Bahman


number_en=[
    '1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' , '9' , '0'
           ]
number_fa=[
     '۱' ,'۲' ,'۳' ,'۴' ,'۵' ,'۶', '۷' ,'۸' ,'۹' ,'۰'
          ]
def fa_en (text):
    result= ""
    for i in text :
        if i == " ":
            result+=" "
            continue
        if i in number_en :
            a = number_en.index(i)
            result += number_fa[a]       
        elif i in number_fa:
            a = number_fa.index(i)
            result += number_en[a]
        else:
            result+=i
    return f'new text: \n {result}'

t = input('your text:\n')
print(fa_en(t))

کد خوب و حرفه‌ای نوشته شده ولی بهتر است چند دستور، در یک خط کد نوشته نشوند تا برنامه خواناتر و گویاتر باشد! Bahman


<< صفحه قبل 1 2 صفحه بعد >>

ارسال جواب

جوابت را با Markdown بنویس و ثبت کن

×
بستن