Maison > développement back-end > Tutoriel Python > Comment pouvons-nous convertir efficacement des mots numériques en nombres entiers dans un texte ?

Comment pouvons-nous convertir efficacement des mots numériques en nombres entiers dans un texte ?

Mary-Kate Olsen
Libérer: 2024-11-21 01:45:11
original
618 Les gens l'ont consulté

How Can We Efficiently Convert Number Words to Integers in Text?

Conversion de mots numériques en nombres entiers

Obtention d'une représentation numérique à partir d'un formulaire texte

Conversion de texte représentant convertir des nombres en entiers correspondants est une tâche courante dans diverses applications. Comment cette transformation peut-elle être réalisée efficacement ?

Exploiter un dictionnaire mot-entier

Une approche consiste à créer un dictionnaire qui mappe les mots numériques à leurs équivalents numériques. Ce dictionnaire peut servir de table de recherche pour convertir des mots individuels en nombres entiers. La majorité du code fourni est dédiée à l'initialisation de ce dictionnaire (numwords).

Analyse et conversion du texte

Pour convertir l'intégralité de la représentation textuelle, le code divise le entrée dans les mots. Pour chaque mot, il recherche sa valeur entière correspondante dans le dictionnaire et l'incorpore dans l'entier final. Le code gère efficacement les mots représentant les unités (par exemple, « un », « deux »), les dizaines (par exemple, « vingt », « quatre-vingt-dix ») et les échelles (par exemple, « cent », « milliard »). Il reconnaît « et » comme délimiteur entre les nombres individuels.

Gestion des grands nombres

Le code considère également la possibilité de grands nombres. Si un mot représentant une échelle (par exemple, « cent ») est rencontré, la valeur entière actuelle est ajoutée au résultat, démarrant un nouveau cycle d'accumulation. Cela permet au code de représenter efficacement des nombres en milliards ou même au-delà.

Exemple d'utilisation

Voici un exemple qui démontre la fonctionnalité du code :

print text2int("seven billion one hundred million thirty one thousand three hundred thirty seven")
#7100031337
Copier après la connexion

Sortie : le code convertit avec précision la représentation textuelle donnée en son équivalent entier, qui est 7100031337.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal