각 문자 유형 개수 세기

PythonBeginner
지금 연습하기

소개

이 프로젝트에서는 주어진 입력 문자열에서 문자, 공백, 숫자, 기타 문자의 수를 세는 방법을 배우게 됩니다. 이는 다양한 텍스트 처리 및 데이터 분석 응용 프로그램에서 유용하게 사용될 수 있는 기본적인 프로그래밍 작업입니다.

👀 미리보기

$ python totalchar.py
abc123EFG * &
45?
letter=6,space=1,digit=5,other=3
$ python totalchar.py
asd5 asd asds51d#^sfd
letter=14,space=2,digit=3,other=2

🎯 과제

이 프로젝트에서 다음을 배우게 됩니다:

  • Python 프로젝트를 설정하고 필요한 파일을 만드는 방법
  • 문자열에서 다양한 유형의 문자를 세는 로직을 구현하는 방법
  • 제공된 예제를 사용하여 문자 수 세기 함수를 테스트하는 방법
  • 문자 수 세기 함수의 잠재적인 개선 사항을 탐색하는 방법

🏆 성과

이 프로젝트를 완료하면 다음을 수행할 수 있습니다:

  • Python 프로젝트의 기본 구조 이해
  • 문자열에서 문자, 공백, 숫자 및 기타 문자의 수를 세는 함수 작성
  • 문자 수 세기 함수 테스트 및 디버깅
  • 문자 수 세기 기능에 대한 잠재적인 개선 사항 식별 및 구현

프로젝트 설정

이 단계에서는 프로젝트 디렉토리를 설정하고 필요한 파일을 생성합니다.

  1. 터미널을 열고 /home/labex/project 디렉토리로 이동합니다.
  2. 프로젝트 디렉토리에 totalchar.py라는 새 Python 파일을 생성합니다.
cd /home/labex/project
touch totalchar.py
  1. 텍스트 편집기에서 totalchar.py 파일을 열고 다음 코드를 추가합니다.
## Python solution for counting characters


def count_chars(input_str):
    letter, space, digit, other = 0, 0, 0, 0

    ## Add your code here to count the number of letters, spaces, digits, and other characters

    return f"letter={letter},space={space},digit={digit},other={other}"


if __name__ == "__main__":
    txt = input()
    print(count_chars(txt))

이 코드는 문자열을 입력으로 받아 문자, 공백, 숫자 및 기타 문자의 개수를 문자열로 반환하는 count_chars 함수를 정의합니다.

✨ 솔루션 확인 및 연습

문자 수 세기 로직 구현

이 단계에서는 입력 문자열에서 다양한 유형의 문자를 세는 로직을 구현합니다.

  1. count_chars 함수 내에서 다음 코드를 추가하여 다양한 유형의 문자를 세십시오.
for char in input_str:
    if char.isalpha():
        letter += 1
    elif char.isspace():
        space += 1
    elif char.isdigit():
        digit += 1
    else:
        other += 1

이 코드는 입력 문자열의 각 문자를 반복 처리하고 문자의 유형에 따라 해당 카운터를 증가시킵니다.

  1. totalchar.py 파일을 저장합니다.
✨ 솔루션 확인 및 연습

문자 수 세기 기능 테스트

이 단계에서는 제공된 예제를 사용하여 count_chars 함수를 테스트합니다.

  1. 터미널에서 totalchar.py 스크립트를 실행합니다.
python totalchar.py
  1. 메시지가 표시되면 첫 번째 예제 입력인 abc123EFG *&45?를 입력합니다.

출력 결과는 다음과 같아야 합니다.

letter=6,space=1,digit=5,other=3
  1. 스크립트를 다시 실행하고 두 번째 예제 입력인 asd5 asd asds51d#^sfd를 입력합니다.

출력 결과는 다음과 같아야 합니다.

letter=14,space=2,digit=3,other=2

출력이 예상 결과와 일치하면 문자 수 세기 함수가 올바르게 작동하는 것입니다.

✨ 솔루션 확인 및 연습

문자 수 세기 기능 개선

문자 수 세기 함수를 더욱 개선하려면 다음 개선 사항을 고려할 수 있습니다.

  1. 유니코드 문자 처리: 현재 구현은 ASCII 문자만 계산합니다. isalpha(), isspace(), 및 isdigit() 검사를 수정하여 유니코드 문자도 처리할 수 있습니다.
  2. 더 자세한 출력 제공: 단순히 카운트가 포함된 문자열을 반환하는 대신, 추가 처리에 더 유용할 수 있는 개별 카운트가 있는 딕셔너리 또는 명명된 튜플을 반환할 수 있습니다.
  3. 오류 처리 추가: 빈 문자열 또는 문자열이 아닌 입력과 같은 잘못된 입력을 처리하기 위해 오류 처리를 구현합니다.
  4. 성능 최적화: 대량의 텍스트를 처리할 것으로 예상되는 경우 정규 표현식 또는 특수 문자열 조작 기술을 사용하는 등 문자를 계산하는 더 효율적인 방법을 탐색할 수 있습니다.

예상대로 작동하는지 확인하기 위해 다양한 입력을 사용하여 개선된 함수를 테스트하는 것을 잊지 마십시오.

✨ 솔루션 확인 및 연습

요약

축하합니다! 이 프로젝트를 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.