Comment obtenir le nombre de chiffres. La coulée du moule est un peu lourde mais facile. [Ajout] Dans le commentaire, je l'ai mentionné parce qu'on m'a dit comment le faire plus intelligemment!
Convertissez les nombres en chaînes pour obtenir la longueur. S'il s'agit d'un nombre négatif, le signe moins sera inclus dans le nombre de chiffres, alors convertissez-le en valeur absolue.
num = -12345
num = abs(num) #Convertir en valeur absolue
num_str = str(num) #Convertir en chaîne
num_digits = len(num) #Obtenir la longueur (nombre de chiffres) de la chaîne de caractères
print(num_digits) #Résultat d'exécution 5
Ou en une seule ligne
num = -12345
num_digits = len(str(abs(num))) #Conversion par lots
print(num_digits) #Résultat d'exécution 5
C'est fondamentalement le même que le cas des entiers, mais comme il s'agit du nombre de chiffres, la virgule décimale est exclue.
num = 0.123456
num = abs(num)
num_str = str(num).replace(".","") #Ignorer le point décimal
num_digits = len(num)
print(num_digits) #Résultat d'exécution 7
Comptez en utilisant isdigit () pour déterminer s'il s'agit d'un nombre. Les entiers et les fractions sont possibles de cette manière.
def count_digit(value):
return sum(c.isdigit() for c in str(value))
print(count_digit(-12345)) #Résultat d'exécution 5
print(count_digit(0.12345)) #Résultat d'exécution 6
print(count_digit(-3.14)) #Résultat d'exécution 3
Recommended Posts