کلمات و اعداد – جامعه 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



