خوک لاتین – با پایتون

چالش لاتین خوک
به دنبال چالش های برنامه نویسی هستید؟ انفرادی را امتحان کنید. دوره های شگفت انگیز رایگان ، بیت های کد و چالش ها را کشف کنید.
خوک لاتین چیست؟
لاتین یک شکل بازیگوش از تحول کلمه است که برای سرگرمی و ارتباطات پنهانی استفاده می شود. این امر کاملاً با زبان لاتین رابطه مستقیمی ندارد. قانون اساسی تغییر اولین همخوان یا همخوان یک کلمه در پایان و اضافه کردن “ay” است.
کدگذاری یک مبدل لاتین خوک
اول ، ما با لیستی از حروف الفبایی انگلیسی شروع خواهیم کرد و لیستی از مصوت ها ایجاد خواهیم کرد
alpha = list(map(chr, range(97, 123)))
vowels = ['a', 'e', 'i', 'o', 'u']
در مرحله اول ما روی تبدیل یک کلمه به خوک لاتین کار خواهیم کرد.
عملکرد کلمه را لاتین کنید
اکنون ما یک تابع را از طریق یک پارامتر ایجاد می کنیم ،
یک لیست خالی ایجاد کنید که اولین همخوان های یک کلمه را پس از شکستن آن نگه دارید.
def latinize(word):
firstCon = []
letters = list(word)
اوه ، بله ، برای رسیدن به هدف خود ، باید این کلمه را به لیستی تقسیم کنیم.
در مرحله بعد ، یک متغیر لیست حاوی هر حرف از کلمه به عنوان یک عنصر ایجاد کنید. با کلمه تبدیل شده به یک لیست ، حروف را حلقه خواهیم کرد.
یک حلقه “برای حلقه” ایجاد کنید. و در حلقه ، یک عبارت مشروط را تنظیم کنید تا مشخص شود که آیا نامه در مورد تکرار یک مصوت است یا از لیست واکه ما استفاده نمی کند.
def latinize(word):
firstCon = []
letters = list(word)
for letter in letters:
if letter in vowels:
در بیانیه IF ، “if” دیگر ایجاد کنید (اگر توخالی باشد) تصمیم بگیرید که آیا این مصوت اولین حرف کلمه است. در موردی که هست ، کلمه را همانطور که هست برگردانید.
برای شکستن حلقه “چیز دیگر” (برای تو در تو در تو) ایجاد کنید. چرا؟ زیرا در صورتی که ما به یک واکه کلمه ای رسیدیم که باید پایان حلقه باشد.
در بیانیه دیگری از بیانیه اول “اگر” مشروط ، نامه را به لیست “اولین صامت” اضافه کنید.
def latinize(word):
firstCon = []
letters = list(word)
for letter in letters:
if letter in vowels:
if letters.index(letter) == 0:
return word
else:
break
else:
firstCon.append(letter)
پس از آن ایجاد “برای حلقه” دیگر ، در این حلقه با استفاده از عناصر لیست “اول صامت” ، اولین صامت ها را از جلو به انتهای حروف با حذف آنها و افزودن آنها منتقل خواهیم کرد.
def latinize(word):
firstCon = []
letters = list(word)
for letter in letters:
if letter in vowels:
if letters.index(letter) == 0:
return word
else:
break
else:
firstCon.append(letter)
for letter in firstCon:
letters.remove(letter)
letters.append(letter)
در مرحله بعدی به دور از حلقه ، “ay” را به لیست حروف اضافه می کنیم و یک متغیر رشته برای نگه داشتن کلمه لاتین شده ایجاد می کنیم.
و اکنون برای مدل سازی کامل کلمه به هم ، در لیست حروف از طریق هر عنصر حلقه خواهیم کرد و آن را به رشته کلمه لاتین شده اضافه خواهیم کرد.
سرانجام ، ما کلمه را به عنوان یک رشته برمی گردانیم و عملکرد ما انجام می شود.
def latinize(word):
firstCon = []
letters = list(word)
for letter in letters:
if letter in vowels:
if letters.index(letter) == 0:
return word
else:
break
else:
firstCon.append(letter)
for letter in firstCon:
letters.remove(letter)
letters.append(letter)
letters.append('ay')
latinized = ''
for letter in letters:
latinized += letter
return latinized
در این مرحله این به نظر می رسد که کار زیادی برای یک چالش سرگرم کننده است اما به آن آویزان است
ما تازه قسمت اصلی را تمام کردیم. بنابراین ، خبر خوب این است که تقریباً تمام شده اید.
برای قسمت بعدی دنبال کنید!
کد آزمون:
print(latinize('Friday'))
کد کامل: