python实现将英文单词表示的数字转换成阿拉伯数字的方法
本文实例讲述了python实现将英文单词表示的数字转换成阿拉伯数字的方法。分享给大家供大家参考。具体实现方法如下:
import re _known = { 'zero': 0, 'one': 1, 'two': 2, 'three': 3, 'four': 4, 'five': 5, 'six': 6, 'seven': 7, 'eight': 8, 'nine': 9, 'ten': 10, 'eleven': 11, 'twelve': 12, 'thirteen': 13, 'fourteen': 14, 'fifteen': 15, 'sixteen': 16, 'seventeen': 17, 'eighteen': 18, 'nineteen': 19, 'twenty': 20, 'thirty': 30, 'forty': 40, 'fifty': 50, 'sixty': 60, 'seventy': 70, 'eighty': 80, 'ninety': 90 } def spoken_word_to_number(n): """Assume n is a positive integer". assert _positive_integer_number('nine hundred') == 900 assert spoken_word_to_number('one hundred') == 100 assert spoken_word_to_number('eleven') == 11 assert spoken_word_to_number('twenty two') == 22 assert spoken_word_to_number('thirty-two') == 32 assert spoken_word_to_number('forty two') == 42 assert spoken_word_to_number('two hundred thirty two') == 232 assert spoken_word_to_number('two thirty two') == 232 assert spoken_word_to_number('nineteen hundred eighty nine') == 1989 assert spoken_word_to_number('nineteen eighty nine') == 1989 assert spoken_word_to_number('one thousand nine hundred and eighty nine') == 1989 assert spoken_word_to_number('nine eighty') == 980 assert spoken_word_to_number('nine two') == 92 # wont be able to convert this one assert spoken_word_to_number('nine thousand nine hundred') == 9900 assert spoken_word_to_number('one thousand nine hundred one') == 1901 """ n = n.lower().strip() if n in _known: return _known[n] else: inputWordArr = re.split('[ -]', n) assert len(inputWordArr) > 1 #all single words are known #Check the pathological case where hundred is at the end or thousand is at end if inputWordArr[-1] == 'hundred': inputWordArr.append('zero') inputWordArr.append('zero') if inputWordArr[-1] == 'thousand': inputWordArr.append('zero') inputWordArr.append('zero') inputWordArr.append('zero') if inputWordArr[0] == 'hundred': inputWordArr.insert(0, 'one') if inputWordArr[0] == 'thousand': inputWordArr.insert(0, 'one') inputWordArr = [word for word in inputWordArr if word not in ['and', 'minus', 'negative']] currentPosition = 'unit' prevPosition = None output = 0 for word in reversed(inputWordArr): if currentPosition == 'unit': number = _known[word] output += number if number > 9: currentPosition = 'hundred' else: currentPosition = 'ten' elif currentPosition == 'ten': if word != 'hundred': number = _known[word] if number < 10: output += number*10 else: output += number #else: nothing special currentPosition = 'hundred' elif currentPosition == 'hundred': if word not in [ 'hundred', 'thousand']: number = _known[word] output += number*100 currentPosition = 'thousand' elif word == 'thousand': currentPosition = 'thousand' else: currentPosition = 'hundred' elif currentPosition == 'thousand': assert word != 'hundred' if word != 'thousand': number = _known[word] output += number*1000 else: assert "Can't be here" == None return(output)
希望本文所述对大家的Python程序设计有所帮助。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

PHP主要是过程式编程,但也支持面向对象编程(OOP);Python支持多种范式,包括OOP、函数式和过程式编程。PHP适合web开发,Python适用于多种应用,如数据分析和机器学习。

PHP起源于1994年,由RasmusLerdorf开发,最初用于跟踪网站访问者,逐渐演变为服务器端脚本语言,广泛应用于网页开发。Python由GuidovanRossum于1980年代末开发,1991年首次发布,强调代码可读性和简洁性,适用于科学计算、数据分析等领域。

Golang在性能和可扩展性方面优于Python。1)Golang的编译型特性和高效并发模型使其在高并发场景下表现出色。2)Python作为解释型语言,执行速度较慢,但通过工具如Cython可优化性能。

Python更易学且易用,C 则更强大但复杂。1.Python语法简洁,适合初学者,动态类型和自动内存管理使其易用,但可能导致运行时错误。2.C 提供低级控制和高级特性,适合高性能应用,但学习门槛高,需手动管理内存和类型安全。

Python和JavaScript在开发环境上的选择都很重要。1)Python的开发环境包括PyCharm、JupyterNotebook和Anaconda,适合数据科学和快速原型开发。2)JavaScript的开发环境包括Node.js、VSCode和Webpack,适用于前端和后端开发。根据项目需求选择合适的工具可以提高开发效率和项目成功率。

Python和C 各有优势,选择应基于项目需求。1)Python适合快速开发和数据处理,因其简洁语法和动态类型。2)C 适用于高性能和系统编程,因其静态类型和手动内存管理。

Laravel适合团队熟悉PHP且需功能丰富的项目,Python框架则视项目需求而定。1.Laravel提供优雅语法和丰富功能,适合需要快速开发和灵活性的项目。2.Django适合复杂应用,因其“电池包含”理念。3.Flask适用于快速原型和小型项目,提供极大灵活性。

Golangisidealforbuildingscalablesystemsduetoitsefficiencyandconcurrency,whilePythonexcelsinquickscriptinganddataanalysisduetoitssimplicityandvastecosystem.Golang'sdesignencouragesclean,readablecodeanditsgoroutinesenableefficientconcurrentoperations,t
