Я работаю со строками, которые содержат как цифры, так и буквенно-цифровые символы, или просто цифры, но не только альфы. Чтобы проверить наличие ложных совпадений, мне нужно проверить, содержит ли строки хотя бы одну цифру, печатая сообщение об ошибке, если это не так. Я использовал следующий код:
s = '0798237 sh 523-123-asdjlh'
def contains_digits(s):
for char in list(s):
if char.isdigit():
return True
break
return False
if contains_digits(s) == True:
print s
else:
print 'Error'
Есть ли более пифонический или более простой способ сделать это, или этого достаточно? Кроме того, я не могу просто проверить, является ли строка буквенно-цифровой, потому что строка может содержать различные символы ('-', пробелы и т.д.)