Mohammad S. Anwar가 주최한 주간 챌린지는 개발자들이 두 가지 과제를 해결하여 경쟁하는 우호적인 경쟁입니다. 학습, 공유, 즐거움을 통해 모든 언어와 수준의 개발자의 참여를 장려합니다.
지난주에 저는 과제 1: 단어 바꾸기를 풀어 주간 챌린지 299에 참가했습니다. 이 작업에서는 개발자에게 배열과 문장이 주어졌을 때 배열에 있는 단어 중 하나로 시작하는 문장의 모든 단어를 바꾸는 스크립트를 작성하도록 요구했습니다.
이 게시물에서는 작업 1: 주간 챌린지 299의 단어 바꾸기에 대한 개요와 솔루션을 제시하고 간단한 결론으로 마무리합니다.
일렬로 배열된 단어와 문장이 주어집니다.
주어진 문장에서 주어진 배열의 단어 중 하나로 시작하는 모든 단어를 바꾸는 스크립트를 작성하세요.
주간 챌린지 299, 과제 1: 단어 바꾸기
예 1 - 3은 주어진 입력에서 예상되는 출력을 보여줍니다.
Input: @words = ("cat", "bat", "rat") $sentence = "the cattle was rattle by the battery" Output: "the cat was rat by the bat"
$word로 시작하는 $sentence의 단어를 @words의 $word로 바꾸면 출력을 얻을 수 있습니다. 예:
Input: @words = ("a", "b", "c") $sentence = "aab aac and cac bab" Output: "a a a c b"
Input: @words = ("man", "bike") $sentence = "the manager was hit by a biker" Output: "the man was hit by a bike"
def replace_word(sentence, this_word): return ' '.join([this_word if word.startswith(this_word) else word for word in sentence.split(' ')]) def replace_words(words, sentence): for word in words: sentence = replace_word(sentence, word) return sentence
내 솔루션은 두 가지 함수인 replacement_word와 replacement_words를 사용합니다.
replace_word 함수는 내장된 문자열 메소드 Split, startwith, Join과 list comprehension을 사용하여 this_word로 시작하는 문자열 문장의 모든 단어를 this_word로 바꿉니다.
replace_words 함수는 배열 단어의 각 단어에 대한 문장에 replacement_word를 연속적으로 적용합니다. 그런 다음 변환된 문장을 반환합니다.
이 게시물에서는 작업 1: 주간 챌린지 299의 단어 바꾸기에 대한 개요와 솔루션을 제시했습니다.
내 솔루션에서는 분할, 조인, 시작과 같은 기본 제공 방법을 사용했기 때문에 간단하고 장황하며 이해하기 쉽습니다. 이러한 접근 방식은 Python을 처음 접하거나 프로그래밍을 처음 접하거나 정규 표현식에 익숙하지 않은 경우 도움이 될 수 있습니다.
위 내용은 The Weekly Challenge의 작업에 대한 내 Python 언어 솔루션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!