Maison > Article > développement back-end > Exemple de conversion de nombres chinois en chiffres arabes en Python
Cet article présente principalement la méthode Python de conversion de nombres chinois en chiffres arabes, impliquant des compétences opérationnelles liées au parcours et à la conversion Pythonstring Les amis qui en ont besoin peuvent s'y référer
L'exemple de cet article décrit la méthode de conversion des nombres chinois en chiffres arabes en Python. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :1. Demande
今天写了三千二百行代码。 今天写了3200行代码。Les deux lignes ont la même chose. sens, mais ils s'expriment de différentes manières Oui, unifiez-les.
2. Principe
Les caractéristiques des nombres sont des nombres + unités, comme trois cent quarante-deux, neuf mille deux Vous pouvez parcourir d'arrière en avant. Lorsque vous rencontrez un nombre de 0 à 9, multipliez-le par l'unité précédente. Lorsque vous rencontrez une nouvelle unité (des dizaines de millions), remplacez-la par un nombre pour le nombre suivant.
3. Exemples
五百四十三 1. 三-->3 3 <10 : total = 3 2. 十-->10, 10 ≥10,且不为0 : r = 10 3. 四-->4, 4<10 : total = 3 + 4*10 = 43 4. 百-->100, 10 0≥10,且不为0 : r = 100 5. 五-->5, 5<10 : total = 43 + 5*100 = 543
4. 🎜> Résultat :
#-*- coding: cp936 -*- import re import string common_used_numerals_tmp ={'零':0, '一':1, '二':2, '两':2, '三':3, '四':4, '五':5, '六':6, '七':7, '八':8, '九':9, '十':10, '百':100, '千':1000, '万':10000, '亿':100000000} common_used_numerals = {} for key in common_used_numerals_tmp: common_used_numerals[key.decode('cp936')] = common_used_numerals_tmp[key] def chinese2digits(uchars_chinese): total = 0 r = 1 #表示单位:个十百千... for i in range(len(uchars_chinese) - 1, -1, -1): val = common_used_numerals.get(uchars_chinese[i]) if val >= 10 and i == 0: #应对 十三 十四 十*之类 if val > r: r = val total = total + val else: r = r * val #total =total + r * x elif val >= 10: if val > r: r = val else: r = r * val else: total = total + r * val return total print chinese2digits('两百三十二'.decode('cp936')) print "-------------------------" print chinese2digits('十二'.decode('cp936')) print "-------------------------" print chinese2digits('一亿零八万零三百二十三'.decode('cp936'))
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!