Объясните, почему код работает именно так?
Простая учебная задача, вывести индекс, если в строке есть буква 'f'. Если буквы 'f' нет, выводим пустоту. Но я не понимаю, почему вместо положенной ему пустоты при вводе строки без буквы 'f' выводит 0. Объясните, плиз, почему так происходит.
s = str(input())
if s.find('f') == -1:
print(s.find(''))
elif s.find('f') == s.rfind('f'):
print(s.find('f'))
elif s.find('f') != s.rfind('f'):
print(s.find('f'), s.rfind('f'))
Ответы (1 шт):
Автор решения: Daniil Loban
→ Ссылка
Питон очень симпатичный язык Гвидо ван Россум постарался, он позволяет делать многие вещи проще, с другой стороны почти в каждом языке можно сделать проще, не стоит себя запутывать количесвом строк кода.
s = str(input())
result = s.find('f');
print (result if result != -1 else '')
тут и строк поменьше, и вызов функции 1 раз, и работает как часы)