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