所以我有一个名为'Number'和'abf573'的字符串。任务是找出字符串“ Number”是否仅包含十六进制系统中的字符和数字。
我的计划是创建一个for循环,在该循环中,我们遍历字符串“ Numbers”的每个位置,以使用if语句检查它是否属于十六进制系统。为了确认这一点,我考虑过将A-F,a-f和0-9写下到List或separat Strings中。
我现在的问题是,我从未在Python中做过这样的事情。我知道如何制作循环和if- / else- / elif-Statements,但是我不知道如何在此问题中实现这一点。
如果有人可以给我一个提示,如何做或者我的思维方式是否正确,那将是很好的。
答案 0 :(得分:0)
字符串是 iterables 。所以,你可以写
Number = '12ab'
for character in Number:
if character in 'abcdef':
print('it is HEX')
另外,字符串上有一个isdigit
方法,因此您的十六进制数字是not Number.isdigit()
答案 1 :(得分:0)
我发现尝试使用int()
将此字符串转换为整数并处理不可能的ValueError
异常非常聪明和快捷。
这是漂亮的短代码:
my_string = 'abf573'
try:
result = int(my_string, 16)
print("OK")
except ValueError:
print("NOK")