В переменной
symbols, на мой взгляд, смысла особого нет, ввиду наличия модуля
punctuation.
Проверку на наличие символа/ов можно сделать при помощи
list comprehension, например, и, в зависимости от результата, выводить, условно,
Да или
Нет.
Итого, попробуйте:
>>> from string import punctuation
>>> def check_spec_characters(text):
res = [i for i in punctuation if i in text]
if res:
print('YES')
else:
print('NO')
>>> text = 'Expression syntax is straightforward: the operators +, -, * and / work as expected'
>>> check_spec_characters(text)
YES
>>> text = 'Expression syntax is straightforward the operators work as expected'
>>> check_spec_characters(text)
NO
Если нужны также сами найденные символы, просто добавьте переменную
res в
print к выводу:
......
if res:
print('Special characters found in text: {}'.format(res))
......
>>> text = 'Expression syntax is straightforward: the operators +, -, * and / work as expected'
>>> check_spec_characters(text)
Special characters found in text: ['*', '+', ',', '-', '/', ':']