Python compte le nombre de chiffres, de lettres anglaises, d'espaces et d'autres caractères dans une chaîne de caractères

Les nombres, les lettres anglaises, les espaces et les autres caractères ont une correspondance un à un dans la table de codes ASCII. Vous pouvez utiliser la fonction ord pour résoudre ce problème:

La fonction ord () est une fonction d'appariement de la fonction chr () (pour les chaînes ASCII 8 bits) ou de la fonction unichr () (pour les objets Unicode). Elle prend un caractère (une chaîne de longueur 1) comme paramètre et renvoie la valeur ASCII correspondante, ou la valeur Unicode, si le caractère Unicode donné dépasse la portée de votre définition Python, une exception TypeError sera déclenchée.


Tout d'abord, je pense à utiliser le code ASCII ici. Voici une table de conversion de code ASCII:


La valeur du code ASCII de 0 à 9 chiffres va de 48 à 57

La plage de valeurs des lettres anglaises minuscules a ~ z est 97 ~ 122

La plage de valeurs des lettres majuscules anglaises A ~ Z est de 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))+".")


Je suppose que tu aimes

Origine blog.csdn.net/wxy_csdn_world/article/details/80741280
conseillé
Classement