Python – El progtwig no se muestra como estaba previsto

#Hex Check def Check(HexInput): while HexInput!= Valid: print('That is an invalid hex number.') else: print('That is an valid hex number.') return HexInput HexInput=input('Enter a hex number: ') Valid='1234567890ABCDEFG' 

Cuando se ejecuta, no genera nada cuando se ingresa un número hexadecimal. El progtwig apunta a procesar el número hexadecimal ingresado por los usuarios y si es un número hexadecimal válido o no.

Tu progtwig probablemente debería verse algo más como esto:

 def Check(num): # checking code here. n = raw_input('Enter a hex number:') Check(n) 

Necesitas llamar a funciones después de definirlas.

el uso de expresiones regulares es mucho más simple en este caso

 #Hex Check import re def Check(HexInput): if re.match('^[a-f0-9]+$', HexInput, re.IGNORECASE): print('That is a valid hex number.') else: print('That is an invalid hex number.') HexInput=input('Enter a hex number: ') Check(HexInput) 

Intenta con un solo personaje:

 import string def Check(HexInput): if HexInput not in string.hexdigits: print('That is an invalid hex number.') else: print('That is an valid hex number.') return HexInput 

string.hexdigits es una secuencia incorporada de hexdigits válidos. Consulte la documentación del módulo de cadena para más detalles.