Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

문자열이 Python에서 Pangrammatic Lipogram인지 확인

<시간/>

세 개의 문자열이 제공되고 해당 문자열이 Pangram, Lipogram 및 Pangrammatic Lipogram인 문자열을 찾아야 한다고 가정합니다. Pangram은 알파벳의 모든 문자가 적어도 한 번 나타나는 문자열 또는 문장입니다. 리포그램은 알파벳에서 하나 이상의 문자가 나타나지 않는 문자열 또는 문장입니다. Pangrammatic Lipogram은 하나를 제외하고 알파벳의 모든 문자가 나타나는 문자열 또는 문장입니다.

따라서 입력이 다음과 같으면 -

내 상자에 54개의 술병을 포장하여 이 필멸의 세계에 머물거나 내 손으로 망각에 가십시오. 그것이 내 수수께끼입니다. 빠른 갈색 여우가 게으른 도그왈츠, 님프를 뛰어넘어 빠른 지그를 찾아 싹을 틔우고, 

그러면 출력은 -

가 됩니다.
The String is a PangramThe String is a Pangram but a LipogramThe String is a PangramThe String is a Pangrammatic Lipogram

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • 문자열의 모든 문자를 소문자 알파벳으로 변환합니다.
  • i :=0
  • 소문자 알파벳의 각 문자에 대해 다음을 수행합니다.
    • input_string에 문자가 없으면
      • 나는 :=나는 + 1
  • i가 0과 같으면
    • output :="문자열은 팬그램입니다"
  • 그렇지 않으면 i가 1과 같을 때
    • output :="The String은 Pangrammatic Lipogram입니다."
  • 그렇지 않으면
    • output :="문자열은 팬그램이 아니지만 리포그램일 수 있습니다."
  • 반환 출력

예시

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

import stringdef solve(input_string):input_string.lower() string.ascii_lowercase의 문자에 대해 i =0:if(input_string.find(character) <0):i +=1 if(i ==0):출력 ="The String is a Pangram" elif(i ==1):output ="The String is a Pangrammatic Lipogram" else:output ="The String is a Pangram but may be a Lipogram" return outputprint(solve(" 다섯 다스의 술병으로 내 상자를 포장하십시오")print(solve("이 필멸의 세계에 머무르거나 내 손으로 망각에 가는 것, 그것이 내 수수께끼입니다."))print(solve("빨리 갈색 여우가 뛰어 넘어요) 게으른 개"))print(solve("waltz, nymph, for quick jigs ve bud"))

입력

5다스의 술병으로 내 상자를 포장하여 이 필멸의 세계에 머물거나 내 손으로 망각에 가십시오. 그것이 내 수수께끼입니다. 빠른 갈색 여우는 게으른 dogwaltz, 님프를 뛰어 넘어 빠른 지그를 싹 트십시오.

출력

The String is a PangramThe String is a Pangram but a LipogramThe String is a PangramThe String is a Pangrammatic Lipogram