세 개의 문자열이 제공되고 해당 문자열이 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
- input_string에 문자가 없으면
- 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