تبدیل اعداد فارسی به انگلیسی
تابعی بنویسید که رشته ای دریافت کند و اعداد فارسی داخل آن را به اعداد انگلیسی تبدیل کند و برگرداند
تابعی بنویسید که رشته ای دریافت کند و اعداد فارسی داخل آن را به اعداد انگلیسی تبدیل کند و برگرداند
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)
جواب ناقص است، چون اگر جمله ورودی ، شامل ترکیبی از اعداد و حروف باشد، برنامه خطا میدهد!
def convert_persian_to_english(input_string):
persian_to_english = str.maketrans('۰۱۲۳۴۵۶۷۸۹', '0123456789')
return input_string.translate(persian_to_english)
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 است
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))
adad_farsi = ["۰" ,"۱" ,"۲" ,"۳" ,"۴", "۵" ,"۶ ","۷","۸","۹"]
adad_english = ["0","1","2","3","4","5","6","7","8","9"]
def x(str):
result = ""
for c in str:
index= adad_english.index(c)
result += adad_farsi[index]
return result
i = input("adad : ")
print(x(i))
def fa2en(input_string):
output_string = ''.join([str(int(str(a))) if a.isdigit() else a for a in input_string])
return output_string
text = 'امروز اسفند سال ۱۴۰۳ است، امروز ۲۱ ام است!'
print(fa2en(text))
کد خوب و حرفهای نوشته شده ولی بهتر است چند دستور، در یک خط کد نوشته نشوند تا برنامه خواناتر و گویاتر باشد!
def fe():
e=[1,2,3,4,5,6,7,8,9,0]
f=['۱','۲','۳','۴','۵','۶','۷','۸','۹','۰']
a=input('.')
for b in a:
print(e[f.index(b)],end='')
fe()
جوابت را با Markdown بنویس و ثبت کن
برای استفاده از این بخش باید وارد حساب کاربریت بشی
ورود/ثبت نامتوضیح کوتاهی بنویسید تا تیم بررسی کند.