为 3 个字符串创建一个 for 循环
Creating one for loop for 3 strings
所以我有一个名为 'Number' 和 'abf573' 的字符串。任务是找出字符串 'Number' 是否仅包含十六进制系统中的字符和数字。
我的计划是制作一个 for 循环,我们在其中遍历字符串 'Numbers' 的每个位置,以使用 if 语句检查它是否是十六进制系统之外的内容。为了检查这一点,我考虑将 A-F、a-f 和 0-9 写到列表或单独的字符串中。
我现在的问题是,我在 Python 从来没有做过这样的事情。我知道如何制作 for 循环和 if-/else-/elif-Statements,但我不知道如何在这个问题中实现它。
如果有人能给我提示,如何去做,或者我的思维方式是否正确,那就太好了。
字符串是可迭代的。所以,你可以写
Number = '12ab'
for character in Number:
if character in 'abcdef':
print('it is HEX')
此外,字符串上有一个 isdigit
方法,所以你的十六进制数字是 not Number.isdigit()
我发现尝试使用 int()
将此字符串转换为整数并处理在不可能时发生的异常 ValueError
非常聪明和快速。
这是漂亮的短代码:
my_string = 'abf573'
try:
result = int(my_string, 16)
print("OK")
except ValueError:
print("NOK")
所以我有一个名为 'Number' 和 'abf573' 的字符串。任务是找出字符串 'Number' 是否仅包含十六进制系统中的字符和数字。
我的计划是制作一个 for 循环,我们在其中遍历字符串 'Numbers' 的每个位置,以使用 if 语句检查它是否是十六进制系统之外的内容。为了检查这一点,我考虑将 A-F、a-f 和 0-9 写到列表或单独的字符串中。
我现在的问题是,我在 Python 从来没有做过这样的事情。我知道如何制作 for 循环和 if-/else-/elif-Statements,但我不知道如何在这个问题中实现它。
如果有人能给我提示,如何去做,或者我的思维方式是否正确,那就太好了。
字符串是可迭代的。所以,你可以写
Number = '12ab'
for character in Number:
if character in 'abcdef':
print('it is HEX')
此外,字符串上有一个 isdigit
方法,所以你的十六进制数字是 not Number.isdigit()
我发现尝试使用 int()
将此字符串转换为整数并处理在不可能时发生的异常 ValueError
非常聪明和快速。
这是漂亮的短代码:
my_string = 'abf573'
try:
result = int(my_string, 16)
print("OK")
except ValueError:
print("NOK")