> 백엔드 개발 > 파이썬 튜토리얼 > The Weekly Challenge의 작업에 대한 내 Python 언어 솔루션

The Weekly Challenge의 작업에 대한 내 Python 언어 솔루션

Patricia Arquette
풀어 주다: 2024-12-17 20:37:10
원래의
221명이 탐색했습니다.

My Python Language Solution to Task rom The Weekly Challenge

1. 소개

Mohammad S. Anwar가 주최한 주간 챌린지는 개발자들이 두 가지 과제를 해결하여 경쟁하는 우호적인 경쟁입니다. 학습, 공유, 즐거움을 통해 모든 언어와 수준의 개발자의 참여를 장려합니다.

지난주에 저는 과제 1: 단어 바꾸기를 풀어 주간 챌린지 299에 참가했습니다. 이 작업에서는 개발자에게 배열과 문장이 주어졌을 때 배열에 있는 단어 중 하나로 시작하는 문장의 모든 단어를 바꾸는 스크립트를 작성하도록 요구했습니다.

이 게시물에서는 작업 1: 주간 챌린지 299의 단어 바꾸기에 대한 개요와 솔루션을 제시하고 간단한 결론으로 ​​마무리합니다.

2. 작업 1: 단어 바꾸기

일렬로 배열된 단어와 문장이 주어집니다.

주어진 문장에서 주어진 배열의 단어 중 하나로 시작하는 모든 단어를 바꾸는 스크립트를 작성하세요.

주간 챌린지 299, 과제 1: 단어 바꾸기

예 1 - 3은 주어진 입력에서 예상되는 출력을 보여줍니다.

실시예 1

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로 바꾸면 출력을 얻을 수 있습니다. 예:

  • 소라는 단어는 고양이라는 단어로 시작하므로 소를 고양이로 바꾸면 문장이 고양이가 배터리에 의해 덜거덕거렸다로 변환됩니다.
  • 배터리라는 단어는 박쥐로 시작하므로 배터리를 박쥐로 바꾸면 문장이 고양이가 딸랑이에 의해 박쥐로 변형됩니다.
  • rattle이라는 단어는 rat라는 단어로 시작하므로 Rattle을 Rat로 바꾸면 문장이 cat was Rattle by the bat로 변환됩니다.

실시예 2

Input: @words = ("a", "b", "c")
       $sentence = "aab aac and cac bab"
Output: "a a a c b"
로그인 후 복사

실시예 3

Input: @words = ("man", "bike")
       $sentence = "the manager was hit by a biker"
Output: "the man was hit by a bike"
로그인 후 복사

3. 내 솔루션

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로 바꿉니다.

  • 문장.분할(' ')은 (' ')를 구분 기호로 사용하여 문장을 단어 목록으로 나눕니다.
  • 목록 이해 [this_word if word.startswith(this_word) else word for word in...]는 분할된 문장 목록에서 또 다른 단어 목록을 작성하고, 단어가 this_word로 시작하면 this_word로 바꿉니다.
  • ' '.join(...)은 (' ')를 사용하여 두 번째 목록을 문자열로 연결합니다.
  • return은 문자열을 반환합니다

replace_words 함수는 배열 단어의 각 단어에 대한 문장에 replacement_word를 연속적으로 적용합니다. 그런 다음 변환된 문장을 반환합니다.

4. 결론

이 게시물에서는 작업 1: 주간 챌린지 299의 단어 바꾸기에 대한 개요와 솔루션을 제시했습니다.

내 솔루션에서는 분할, 조인, 시작과 같은 기본 제공 방법을 사용했기 때문에 간단하고 장황하며 이해하기 쉽습니다. 이러한 접근 방식은 Python을 처음 접하거나 프로그래밍을 처음 접하거나 정규 표현식에 익숙하지 않은 경우 도움이 될 수 있습니다.

위 내용은 The Weekly Challenge의 작업에 대한 내 Python 언어 솔루션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿