Надо определить, есть ли в строковой переменной "sars-cov-2"?

Я не могу понять, почему мой код не работает

a = input()
s=1
f=11

while a[s:f]=="sars-cov-2":
    s+=1
    f+=1
if a[s:f]=="sars-cov-2":
    print("YES")
else:
    print("NO")

Ответы (2 шт):

Автор решения: CrazyElf

Вам нужно написать в while обратное условие. И искать с нулевого символа. Хотя это и не оптимальный способ поиска подстроки в любом случае:

a = input()
s=0
f=10

while a[s:f]!="sars-cov-2":
    s+=1
    f+=1
if a[s:f]=="sars-cov-2":
    print("YES")
else:
    print("NO")
→ Ссылка
Автор решения: insolor

Наличие подстроки в строке проще проверить с помощью оператора in:

a = input()

if "sars-cov-2" in a:
    print("YES")
else:
    print("NO")

Если нужно определить, с какого индекса начинается подстрока, можно использовать метод find:

a = input()

i = a.find("sars-cov-2")    
if i != -1:
    print("Yes, starting from index", i)
else:
    print("No")
→ Ссылка