2016-11-06 12 views
0

사용자가 문자열을 입력 할 수있게하고 싶습니다. (이 방법을 알고 있습니다.)문자열에 가장 많이 사용 된 모음을 인쇄하는 방법은 무엇입니까?

그런 다음 파이썬이 각 모음 (aeiou)을 몇 번이나 사용했는지 확인합니다.

각 모음이 몇 번이나 사용되었는지 계산 한 후 적어도 한 번 이상 사용 된 모음을 반환하는 프로그램이 필요합니다. 모음을 사용하지 않으면 반환하지 않아야합니다. 최소한의 동점 일 경우 두 가지 모두 반환해야합니다.

더 모음을 사용하지 않는 경우, 그것은 "어떤 모음이 사용되지 않았다"오류 코드 (나는이 작업을 수행하는 방법을 알고) 예를 들어

를 인쇄해야합니다 :이 모음이 문장에서 사용 된 횟수 경우 :

a=4 
b=2 
c=0 
d=0 
e=2 

"최소 USED 모음은 b 및 c이고 2 회 사용"이 인쇄되어야합니다.

답변

1

할 수 있습니다 :

  1. 제거 문자열에서 모든 비 모음의 문자.
  2. 문자열을 문자로 나눕니다.
  3. # 2에서 얻은 목록에 Counter을 사용하십시오.

import re 
from collections import Counter 
s = 'asdfwerasdfwaxciduso' 
only_vowels = re.sub(r"[^aeiou]", "", s) 
c = Counter(list(only_vowels)) 
c.most_common()[-1] 
+0

이것은 실제로 도움이됩니다 ... 감사합니다. 이 코딩이 할 수있는 유일한 방법은 다음과 같습니다. 최소 사용 된 모음이 다른 모음과 동일한 횟수만큼 사용되면 두 모음을 모두 인쇄해야합니다. 어떻게해야합니까? –

+0

내 의견에 대한 귀하의 답변을 찾을 수 없습니까? 두 개 이상의 공통 모음이있는 경우 두 모음을 모두 인쇄하는 방법? 이것 이외 - 완벽한 대답. 나는 대답을 곧 받아 들일 것입니다 - 당신이 응답 할 기회를 줄 것입니다. 나는 아직도 최소한의 공통 모음을 여러 개 인쇄하는 방법을 확신 할 수 없습니다! –

+0

그런데 도움을 주셔서 감사합니다 –

0

어려운 방법으로 편지를 보내십시오. for 루프로 문자열을 반복하고 각 문자에 대해 사전 값을 증가시킵니다. 마지막에는 모음으로 키를 확인하고 가장 작은 것을 찾으십시오.

+0

감사합니다 - 나는 제로 번 사용 된 모든 모음을 무시 대해 어떻게 갈 수 있나요? –

+0

편지가 사용되지 않으면 키가 없습니다. 컬렉션에서 defaultdict를 기본값 1로 사용하여 처음으로 추가하려고 시도 할 때 놀라지 않을 것입니다. – zenlc2000

+0

감사합니다 - 마지막 Q - 두 개의 모음이 같고 가장 낮은 값을 공유한다고 가정합니다. 어떻게 둘 다 인쇄 할 수 있습니까? –