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

2024-09-30 03:24:07 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我有一个名为'Number'的字符串,带有'abf573'。任务是,找出字符串'Number'是否只有十六进制的字符和数字

我的计划是做一个for循环,在这里我们遍历字符串'Numbers'的每个位置,用if语句检查它是否是十六进制以外的东西。为了检查这一点,我考虑将A-F、A-F和0-9写进列表或分隔字符串中

我现在的问题是,我从来没有在Python中做过这样的事情。我知道如何生成for循环和if-/else-/elif语句,但是我不知道如何在这个问题中实现这一点

如果有人能给我一个提示,怎么做,或者我的思维方式是否正确,那就太好了


Tags: 字符串number列表forif数字语句字符
2条回答

字符串是iterables。所以,你可以写

Number = '12ab'

for character in Number:
    if character in 'abcdef':
         print('it is HEX')

另外,字符串上有一个isdigit方法,所以您的数字是hex,即not Number.isdigit()

我发现尝试使用int()将这个字符串转换成整数,并处理不可能发生的异常ValueError非常聪明和快速。
下面是漂亮的简短代码:

my_string = 'abf573'
try:
    result = int(my_string, 16)
    print("OK")
except ValueError:
    print("NOK")

相关问题 更多 >

    热门问题