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 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

VSコードはWindows 8で実行できますが、エクスペリエンスは大きくない場合があります。まず、システムが最新のパッチに更新されていることを確認してから、システムアーキテクチャに一致するVSコードインストールパッケージをダウンロードして、プロンプトとしてインストールします。インストール後、一部の拡張機能はWindows 8と互換性があり、代替拡張機能を探すか、仮想マシンで新しいWindowsシステムを使用する必要があることに注意してください。必要な拡張機能をインストールして、適切に動作するかどうかを確認します。 Windows 8ではVSコードは実行可能ですが、開発エクスペリエンスとセキュリティを向上させるために、新しいWindowsシステムにアップグレードすることをお勧めします。

VSコード拡張機能は、悪意のあるコードの隠れ、脆弱性の活用、合法的な拡張機能としての自慰行為など、悪意のあるリスクを引き起こします。悪意のある拡張機能を識別する方法には、パブリッシャーのチェック、コメントの読み取り、コードのチェック、およびインストールに注意してください。セキュリティ対策には、セキュリティ認識、良好な習慣、定期的な更新、ウイルス対策ソフトウェアも含まれます。

VSコードはPythonの書き込みに使用でき、Pythonアプリケーションを開発するための理想的なツールになる多くの機能を提供できます。ユーザーは以下を可能にします。Python拡張機能をインストールして、コードの完了、構文の強調表示、デバッグなどの関数を取得できます。デバッガーを使用して、コードを段階的に追跡し、エラーを見つけて修正します。バージョンコントロールのためにGitを統合します。コードフォーマットツールを使用して、コードの一貫性を維持します。糸くずツールを使用して、事前に潜在的な問題を発見します。

VSコードはMacで利用できます。強力な拡張機能、GIT統合、ターミナル、デバッガーがあり、豊富なセットアップオプションも提供しています。ただし、特に大規模なプロジェクトまたは非常に専門的な開発の場合、コードと機能的な制限がある場合があります。

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

VSコードはPythonを実行できるだけでなく、次のような強力な機能も提供します。Python拡張機能のインストール後にPythonファイルを自動的に識別し、コードの完了、構文の強調表示、デバッグ、その他の機能を提供します。インストールされているPython環境に依存して、拡張機能はブリッジ接続編集とPython環境として機能します。デバッグ機能には、ブレークポイントの設定、ステップバイステップのデバッグ、変動値の表示、デバッグ効率の向上が含まれます。統合された端子は、ユニットテストやパッケージ管理などの複雑なコマンドの実行をサポートします。拡張構成をサポートし、コードのフォーマット、分析、バージョンの制御などの機能を強化します。
