برنامه نویسی

کلمات و اعداد – جامعه dev

چالش هفتگی 319

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

چالش ، راه حل های من

کار 1: تعداد کلمات

وظیفه

به شما لیستی از کلمات حاوی شخصیت های الفبایی داده می شود.

یک اسکریپت بنویسید تا تعداد کلمات را شروع کنید یا با یک مصوت شروع کنید یا با یک مصوت پایان دهید.

راه حل من

بنابراین مصوت ها به زبان انگلیسی هستند aبا eبا iبا oبا u وت sometimes yبشر از مثال دوم واضح به نظر می رسد که حتی weekly با یک مصوت به پایان می رسد ، کار فرض می کند که این فقط پنج حرف است.

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

def word_count(words: list[str]) -> int:
    return sum(1 for word in words if re.search('^[aeiou]', word) or re.search('[aeiou]$', word))
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

نمونه

$ ./ch-1.py unicode xml raku perl
2

$ ./ch-1.py the weekly challenge
2

$ ./ch-1.py perl python postgres
0
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

کار 2: حداقل مشترک

وظیفه

به شما دو آرایه عدد صحیح داده می شود.

برای بازگشت حداقل عدد صحیح مشترک برای هر دو آرایه ، یک اسکریپت بنویسید. در صورت بازگشت هیچکدام -1بشر

راه حل من

برای ورودی خط فرمان ، من دو رشته می گیرم و آنها را بر روی کاراکترهای غیر رقمی جدا می کنم.

راه حل من دو لیست را می گیرد و آنها را به مجموعه و استفاده از روش تقاطع تبدیل می کند & برای به دست آوردن مقادیری که در هر دو لیست ظاهر می شود.

اگر یک یا چند مقدار وجود داشته باشد ، حداقل مقدار را برمی گرداند. اگر هیچ کدام پیدا نشود ، باز خواهد گشت -1بشر

def minimum_common(list1: list[int], list2: list[int]) -> int:
    intersection = set(list1) & set(list2)
    return min(intersection) if intersection else -1
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

نمونه

$ ./ch-2.py "1, 2, 3, 4" "3, 4, 5, 6"
3

$ ./ch-2.py "1, 2, 3" "2, 4"
2

$ ./ch-2.py "1, 2, 3, 4" "5, 6, 7, 8"
-1
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا