Как я могу проверить следующие данные в Python (шестнадцатеричные значения) - PullRequest
0 голосов
/ 09 января 2019

У меня есть строка в кодировке ascii, в шестнадцатеричном формате с интервалом

a="%27+%2B+%27%27+%2B+%2701 01 01 02 04 12
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
"

Мне нужна проверка, которая может проверить, есть ли у нее действительные символы или нет

решение, с которым я пришел, это

def Check():
    while False:
        for char in Hex:
            if char not in Valid:
                print ('That is an invalid hex value.')
        print('That is a valid hex value.')
        return Check

Hex=int(input('Enter a hex number: '), 16)
Valid='1''2''3''4''5''6''7''8''9''10''A''B''C''D''E''F'

1 Ответ

0 голосов
/ 09 января 2019

Просто сделайте:

Hex=input('Enter a hex number: ')
Valid='12345678910ABCDEF'
d={True:'That is a valid hex value.', False:'That is an invalid hex value.'}
print(d[all(i in Valid for i in str(Hex))])

Пример выходных данных:

Enter a hex number: 0123456789
That is a valid hex value.

Enter a hex number: $%*@345572
That is an invalid hex value.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...