Python程序未按预期显示

2024-04-25 04:06:52 发布

您现在位置: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'

运行时,当输入十六进制数时,它不输出任何内容。 程序的目的是对用户输入的十六进制数进行处理,输出是否为有效的十六进制数。你知道吗


Tags: annumberthatisdefcheckelseprint
3条回答

尝试单个字符:

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

你知道吗字符串.十六进制数字是有效十六进制数字的内置序列。有关详细信息,请参阅字符串模块文档。你知道吗

在这种情况下,使用regex要简单得多

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

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

def Check(num):
  # checking code here.

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

Check(n)

您需要在定义函数之后调用它们。你知道吗

相关问题 更多 >