为3个字符串创建一个for循环

时间:2018-10-05 14:49:00

标签: python for-loop if-statement python-2.x

所以我有一个名为'Number'和'abf573'的字符串。任务是找出字符串“ Number”是否仅包含十六进制系统中的字符和数字。

我的计划是创建一个for循环,在该循环中,我们遍历字符串“ Numbers”的每个位置,以使用if语句检查它是否属于十六进制系统。为了确认这一点,我考虑过将A-F,a-f和0-9写下到List或separat Strings中。

我现在的问题是,我从未在Python中做过这样的事情。我知道如何制作循环和if- / else- / elif-Statements,但是我不知道如何在此问题中实现这一点。

如果有人可以给我一个提示,如何做或者我的思维方式是否正确,那将是很好的。

2 个答案:

答案 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")