如何在python中验证以下输入(十六进制间隔值)

如何在python中验证以下输入(十六进制间隔值),python,hex,Python,Hex,我有一个字符串是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' " 我需要

我有一个字符串是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'
简单地做:

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.

什么是有效字符。请提供一个如果你检查我提供的输入,它是无效的,因为它有特殊字符。我想要只检查有效字符的验证。你的意思是,%和+我能够实现,但是如果提供输入为'11 34 66',它会给出ValueError Hex=intinput'Enter a Hex number:',16 ValueError:int以16为基数的无效文本:'11 01'@rakesh等等,复制我的整个代码并运行它,这就是它的工作方式。
Enter a hex number: $%*@345572
That is an invalid hex value.