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

Python - 문자열의 모든 문자의 빈도가 다른지 확인

<시간/>

이 기사에서 우리는 주어진 문자열에서 각 문자의 빈도를 찾는 방법을 볼 것입니다. 그런 다음 두 개 이상의 문자가 주어진 문자열에서 동일한 빈도를 갖는지 확인하십시오. 우리는 이것을 두 단계로 수행할 것입니다. 첫 번째 프로그램에서는 각 문자의 빈도를 알아낼 것입니다.

각 문자의 빈도

여기에서 주어진 입력 화면에서 각 문자의 빈도를 찾습니다. 빈 사전을 선언한 다음 각 문자를 문자열로 추가합니다. 또한 사전에 필요한 키-값 쌍을 생성하기 위해 각 문자에 키를 할당합니다.

in_string = "She sells sea shells"
dic1 = {}
for k in in_string:
   if k in dic1.keys():
      dic1[k]+=1
   else:
      dic1[k]=1
print(dic1)
for k in dic1.keys():
   print(k, " repeats ",dic1[k]," time's")

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

{'S': 1, 'h': 2, 'e': 4, ' ': 3, 's': 5, 'l': 4, 'a': 1}
S repeats 1 time's
h repeats 2 time's
e repeats 4 time's
  repeats 3 time's
s repeats 5 time's
l repeats 4 time's
a repeats 1 time's

각 문자의 고유 빈도

다음으로 위의 프로그램을 확장하여 각 고유 문자의 빈도를 찾습니다. 빈도의 고유한 값이 1보다 크면 모든 문자가 동일한 빈도를 갖지 않는다는 결론을 내립니다.

in_string = "She sells sea shells"
dic1 = {}
for k in in_string:
   if k in dic1.keys():
      dic1[k]+=1
   else:
      dic1[k]=1
print(dic1)
u_value = set( val for udic in dic1 for val in (dic1.values()))
print("Number of Unique frequencies: ",len(u_value))
if len(u_value) == 1:
   print("All character have same frequiency")
else:
   print("The characters have different frequencies.")

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

{'S': 1, 'h': 2, 'e': 4, ' ': 3, 's': 5, 'l': 4, 'a': 1}
Number of Unique frequencies: 5
The characters have different frequencies.