Python은 문자열에서 숫자, 영어 문자, 공백 및 기타 문자의 수를 계산합니다.

숫자, 영어 문자, 공백 및 기타 문자는 ASCII 코드 테이블에서 일대일 대응됩니다. ord 함수를 사용하여이 문제를 해결할 수 있습니다.

ord () 함수는 chr () 함수 (8 비트 ASCII 문자열의 경우) 또는 unichr () 함수 (유니 코드 객체의 경우)의 쌍을 이루는 함수입니다. 문자 (길이 1의 문자열)를 매개 변수로 사용하여 다음을 반환합니다. 해당 ASCII 값 또는 유니 코드 값. 주어진 유니 코드 문자가 Python 정의 범위를 초과하면 TypeError 예외가 발생합니다.


먼저 여기에서 ASCII 코드를 사용하는 것을 생각합니다. 여기에 ASCII 코드 변환 테이블이 있습니다.


0-9 자리의 ASCII 코드 값은 48에서 57까지입니다.

a ~ z 영문 소문자의 값 범위는 97 ~ 122입니다.

A ~ Z 영문 대문자의 값 범위는 65 ~ 90입니다.

sstr=list(input("Please enter a string: "))

alphas=[]
digits=[]
spaces=[]
others=[]

for i in range(len(sstr)):
	if ord(sstr[i]) in range(48,58):
		digits.append(sstr[i])
	elif ord(sstr[i]) in range(65,91) or ord(sstr[i]) in range(97,123):
		alphas.append(sstr[i])
	elif ord(sstr[i])==32:
		spaces.append(sstr[i])
	else:
		others.append(sstr[i])
print("The number of alpha is "+str(len(alphas))+".\n"
      +"The number of digit is "+str(len(digits))+".\n"
      +"The number of space is "+str(len(spaces))+".\n"
      +"The number of others is "+str(len(others))+".")


추천

출처blog.csdn.net/wxy_csdn_world/article/details/80741280