Помогите решить задачу в Phyton
Задача 8. Бегущая строка
В одном из домашних заданий мы писали для табло программу, которая циклически сдвигает элементы списка чисел вправо на K позиций. В этот раз мы работаем с двумя строками, и нам нужно проверить, не равна ли на самом деле одна другой. Возможно, одна из них просто немного сдвинута.
Пользователь вводит две строки. Напишите программу, которая определяет, можно ли первую строку получить из второй циклическим сдвигом.
Опционально: если получить можно, то выведите значение этого сдвига.
Пример 1:
Первая строка: abcd
Вторая строка: cdab
Первая строка получается из второй со сдвигом 2.
Пример 2:
Первая строка: abcd
Вторая строка: cdba
Первую строку нельзя получить из второй с помощью циклического сдвига.

Самый простой код

Решение с дополнительным условием
str1 = input('Первая строка: ')
str2 = input('Вторая строка: ')
if str1 != str2:
for i in range(len(str1)):
new_str = ''.join([str1[-1 - i:], str1[:-1 - i]])
if new_str == str2:
print('Первая строка получается из второй со сдвигом {}'.format(i + 1))
print('Значение сдвига: {}'.format(str1[-1 - i:]))
break
else:
print('Первую строку нельзя получить из второй с помощью циклического сдвига.')
else:
print('Сдвиг не требуется, строки равны !')
вот так решил

я решил эту задачу таким образом:
first_s = input('Введите первую стоку: ')
second_s = input('Введите вторую строку: ')
if first_s == second_s:
print('Строки идентичны')
else:
k = second_s.index(second_s[0]) + first_s.index(second_s[0])
for position in range(len(second_s)):
if second_s[position] != first_s[(position + k) % len(second_s)]:
print('Первую строчку нельзя получить из второй методом циклического сдвига')
break
else:
print('Первую строчку можно получить из второй со сдвигом в ', k)