2016-07-19 4 views
-3

Я делаю код, в котором каждый символ связан с числом. Для облегчения моей жизни я решил использовать буквенно-цифровые значения (a = 97, b = 98, z = 121). Первым шагом в моем коде было бы получить номер из персонажа. Например: char = input"Write a character:" print(ord(char.lower()))Общее число значений alphanum в python

Впоследствии, хотя, мне нужно знать общее количество alphanum символов, которые существуют, и нигде не я нашел ответ ...

+0

Вы используете словарь для хранения этих ассоциаций? – Ares

+2

Можете ли вы добавить образец кода, который вы написали? –

+0

В основном я шифрую текст, и способ, который я создал для этого, требует, чтобы я знал максимальное число буквенно-цифрового символа, когда я его шифровал/дешифровал. Я использовал свою собственную систему, где a = 1,? = 32 У меня не было доступа к нижним и другим символам, которые я не включил в свой код. Самый простой способ, которым я обнаружил, что каждый персонаж, приписанный к числу, состоял в том, чтобы использовать пользовательский ввод в цикле while, который изменяет символ на его значение alphanum. –

ответ

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, поскольку оно возвращает логическое значение. Вы можете вычислить max alnum в кодировке, итерации по всем символам в этой кодировке и подсчете. count = 0; для x в xrange (2 ** 16): count + = unichr (x) .isalnum() – Dalen

+0

Ответ на это равен 1, так как «.isalnum() возвращает логическое значение. Но вы можете рассчитывать: count = 0; для x в xrange (2 ** 16): count + = unichr (x) .isalnum() – Dalen