Python - 程序未按预期显示

时间:2012-03-12 21:42:45

标签: python

#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'

运行时,输入十六进制数时不输出任何内容。 该程序旨在处理用户输入的十六进制数并输出它是否是有效的十六进制数。

3 个答案:

答案 0 :(得分:2)

你的程序应该看起来更像这样:

def Check(num):
  # checking code here.

n = raw_input('Enter a hex number:')

Check(n)

您需要在定义函数后调用函数。

答案 1 :(得分:1)

在这种情况下,使用正则表达式更简单

#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)

答案 2 :(得分:1)

尝试使用单个字符:

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是内置的有效hexdigits序列。有关详细信息,请参阅字符串模块文档。