2016-07-19 12 views
-3

すべての文字が数字に関連付けられているコードを作成しています。私の人生を楽にするために、英数字の値(a = 97、b = 98、z = 121)を使用することに決めました。私のコードの最初のステップは、文字から数字を得ることです。たとえば: char = input"Write a character:" print(ord(char.lower()))Pythonでの英数字の合計数

その後

はしかし、私は存在しないとどこにも私は私の答えを発見したalphanum文字の合計数を知っておく必要があります...

+0

辞書を使用してこれらの関連付けを保存していますか? – Ares

+2

あなたが書いたサンプルコードを追加できますか? –

+0

基本的に私はテキストを暗号化しています。そのために作成した方法では、暗号化/復号化時に英数字の最大数を知る必要があります。私はa = 1、?= 32の私自身のシステムを作っていましたが、自分のコードに組み込んでいないlowercapsやその他の文字にアクセスできませんでした。すべての文字が数字になっている最も簡単な方法は、whileループでユーザー入力を使用して文字を英数字に変更することでした。 –

答えて

1

あなたの質問は非常に明確ではありません。なぜ英数字の総数が必要でしょうか?

物は、該当するエンコーディングによって異なります。 ASCIIが問題になっている場合:

>>> import string 
>>> len(string.letters+string.digits) 

これは手動でカウントすることができるものです。

これは実際の合計カウントではありません.0-128のASCII範囲内に他の言語のアルファがもう少しあります。

Unicodeの場合は、指定した数がどれくらいあるかを調べる必要があります。私は、どのくらいの数のアルファベットがユニコードかUTF-8に詰め込まれているのか知りません。

それは、文字列に英数字の認識の問題であれば、Pythonはそうする素敵な方法があります。

>>> "A".isalnum() 
>>> "0".isalnum() 
>>> "[".isalnum() 

ので、より明確に自分を表現してください。

+0

.isalnum()から最大の数字は何ですか?基本的に私はテキストを暗号化していて、自分のコードが作られた方法で、最大値を知る必要があります(暗号化するときに値を掛けるためにそれを使います)。 –

+0

.isalnum()の最大数は1で、ブール値を返します。エンコーディングで最大のアルナムを計算するには、そのエンコーディングとカウントですべての文字を繰り返します。カウント= 0; for xrange(2 ** 16):count + = unichr(x).isalnum() – Dalen

+0

これに対する答えは1で、 ".isalnum()"はブール値を返します。しかし、あなたは数えることができます:count = 0; for xrange(2 ** 16):count + = unichr(x).isalnum() – Dalen