валидатор длины номера питона - PullRequest
1 голос
/ 27 мая 2011

Я пытаюсь написать скрипт на python, который проверяет, является ли введенный номер требуемой длины, например, вводимое число должно быть: 1234567890. Сценарий должен проверить, что он действительно имеет длину 10 цифр. Я не смог найти никаких примеров этого.

Проверенный номер берется из файла.

Ответы [ 4 ]

3 голосов
/ 27 мая 2011

Если он взят из файла, то это строка.

>>> len('1234567890') == 10
True
2 голосов
/ 27 мая 2011

Один из способов сделать это - использовать регулярные выражения:

In [1]: import re

In [2]: s = '1234567890'

In [3]: re.match(r'^\d{10}$', s)
Out[3]: <_sre.SRE_Match object at 0x184f238>

In [4]: re.match(r'^\d{10}$', '99999')

Приведенное выше регулярное выражение гарантирует, что строка состоит из ровно десяти десятичных цифр и ничего больше.В этом примере re.match возвращает объект соответствия, если проверка прошла, или None в противном случае.

1 голос
/ 27 мая 2011

Math - если вам все равно нужен int:

10**10 <= int('12334567890') < 10**11
0 голосов
/ 27 мая 2011
if len( str( int( input_variable) ) ) != 10:
     fire_milton(burn_this_place_down=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...