بکندباز

در این چالش، باید تابعی بنویسید که یک فعل مصدر با قاعده ایتالیایی را به همراه ضمیر فاعل، به زمان حال صرف کند.

همه افعال صرف اول ایتالیایی یک پسوند مشترک دارند: ARE. اولین کاری که باید انجام دهید جدا کردن ریشه فعل از پسوند است.

ریشه “programmare” (برنامه نویسی کردن) = “programm”.
ریشه “giocare” (بازی کردن) = “gioc”.

برای هر ضمیر فاعلی، ریشه با یک پسوند جدید ترکیب می‌شود: جدول زیر را ببینید (ضمیرها برای سهولت کدنویسی شماره‌گذاری شده‌اند، در گرامر واقعی به صورت مفرد و جمع از اول تا سوم گروه‌بندی می‌شوند):

# ضمیر پسوند
1 Io (من) o
2 Tu (تو) i
3 Egli (او) a
4 Noi (ما) iamo
5 Voi (شما) ate
6 Essi (آنها) ano
  • زمان حال فعل “parlare” (صحبت کردن) برای ضمیر سوم:
    • ضمیر (“Egli”) + ریشه (“parl”) + پسوند (“a”) = “Egli parla”. او صحبت کرد
  • زمان حال فعل “lavorare” (کار کردن) برای ضمیر چهارم:
    • ضمیر (“Noi”) + ریشه (“lavor”) + پسوند (“iamo”) = “Noi lavoriamo” ما کار کردیم

دو استثناء برای صرف زمان حال وجود دارد:

  • اگر ریشه با “c” یا “g” تمام شود، پسوندهای ضمیر دوم و چهارم یک “h” در ابتدای خود اضافه می‌کنند:
    • “Attaccare” (حمله کردن) = “Tu attacchi” (به جای “Tu attacci”)
    • “Legare” (بستن) = “Noi leghiamo” (به جای “Noi legiamo”)
  • اگر ریشه با “i” تمام شود، پسوندهای ضمیر دوم و چهارم “i” خود را از دست می‌دهند:
    • “Inviare” (ارسال کردن) = “Noi inviamo” (به جای “Noi inviiamo”)
    • “Tagliare” (بریدن) = “Tu tagli” (به جای “Tu taglii”)
    • “Mangiare” (خوردن) = “Noi mangiamo” (به جای “Noi mangiiamo”)
    • “Cacciare” (شکار کردن) = “Tu cacci” (به جای “Tu caccii”)

با داشتن فرم مصدر فعل ایتالیایی و یک عدد صحیح به عنوان ضمیر فاعل، تابعی بنویسید که فرم صرف شده را به عنوان یک رشته‌ برگرداند.

نمونه ورودی و خروجی

conjugate("programmare", 5) ➞ Voi programmate

conjugate("iniziare", 2) ➞ Tu inizi

conjugate("mancare", 4) ➞ Noi manchiamo

نکات

  • در رشته بازگشتی، ضمیرها باید با حرف بزرگ شروع شوند و افعال باید با حروف کوچک نوشته شوند، با یک فاصله بین آنها.
self.assertEqual(conjugate("programmare", 5), "Voi programmate")
self.assertEqual(conjugate("iniziare", 2), "Tu inizi")
self.assertEqual(conjugate("mancare", 4), "Noi manchiamo")
self.assertEqual(conjugate("parlare", 1), "Io parlo")
self.assertEqual(conjugate("sognare", 3), "Egli sogna")
self.assertEqual(conjugate("negare", 2), "Tu neghi")
self.assertEqual(conjugate("insegnare", 5), "Voi insegnate")
self.assertEqual(conjugate("tagliare", 4), "Noi tagliamo")
self.assertEqual(conjugate("nuotare", 1), "Io nuoto")
self.assertEqual(conjugate("cambiare", 3), "Egli cambia")

پاسخ های کاربران به این تمرین

Aboolkhafan
امتیاز:‌ 4901
تصحیح اتوماتیک 0 0
‎پایتون‎
13 مرداد 1403

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

Arhsi8294
امتیاز:‌ 4901
تصحیح اتوماتیک 0 0
‎پایتون‎
13 مرداد 1403

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

نظرات

*
*

تمرینات مرتبط