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

문자열의 양쪽 절반이 Python에서 동일한 문자 집합을 가지고 있는지 확인하십시오.

<시간/>

Python에서 문자열의 두 반쪽이 동일한 문자 집합을 가지고 있는지 여부를 확인해야 합니다. . 두 반쪽의 문자 빈도는 동일해야 합니다. 문자열의 길이가 홀수이면 중간을 무시하고 나머지 문자를 확인하십시오. 아래 단계에 따라 프로그램 코드를 작성하세요.

알고리즘

1. Initialize a string.
2. Initialize an empty dictionary variable alphabets.
3. Initialize a variable mid with length / 2.
4. Write a loop until mid element.
   4.1. Initialize the corresponding dictionary item by alphabets[char] with one if it's not
initialized.
   4.2. If it's already initialized, increment the count by 1.
5. Run the loop from the mid element to the last item.
   5.1. Check if the char is in the dictionary or not.
      5.1.1. Decrement the count of char by one if it's in the dictionary
6. Run a loop over the dictionary alphabets.
   6.1. If you find any item with more than 0 value.
      6.1.1. Print **No!**.
   6.2. Else print Yes!

코드를 작성해 봅시다.

## initializing the string
string = "aabccbaa"
## initializing an empty string
alphabets = {}
## initializing the mid variable
mid = len(string) // 2
## loop to count the frequency of char in the first half
for i in range(mid):
   ## setting the value of char count to 1 if it's not in the dictionary
   if not alphabets.get(string[i], 0):
      alphabets[string[i]] = 1
   else:
      ## incrementing the count of char by 1 if it's already initialized
      alphabets[string[i]] += 1
## loop to decrement the count of char by 1 if it's present in second half of the string
for i in range(len(string) - 1, mid - 1, -1):
   ## checking whether the char is in second half or not
   if alphabets.get(string[i], 0):
   ## if it's present, decrementing the count by 1
   alphabets[string[i]] -= 1
## initializing a flag variable for the track
flag = 1
## loop to check the values after decrementing
for i in alphabets.values():
## checking for zeroes
if i != 0:
   ## if it's not zero breaking the loop and printing No!
   print("No!")
   ## setting 0 for track
   flag = 0
   break
## if flag value still 1 then, it's Yes!
if flag == 1:
   ## printing Yes!
   print("Yes!")

출력

위의 프로그램을 실행하면 다음과 같은 결과를 얻을 수 있습니다.

Yes!

결론

튜토리얼과 관련하여 궁금한 점이 있으면 댓글 섹션에 언급하세요.