#python #for-loop
#python #for-цикл
Вопрос:
Мне удалось вернуть «Да», если есть то же слово, но …….
a = input()
list_a = list(a)
b = input()
list_b = list(b)
for i in range(len(a)):
added = list_a[-1]
list_a.pop()
list_a.insert(0, added)
if list_a == list_b:
print('Yes')
break
else:
continue
Как я должен вернуть «Нет» в конце цикла for ?
Ответ №1:
Что вам нужно, так это вспомогательный флаг, чтобы сообщить вам, в каком из двух случаев вы находитесь. По умолчанию это False
означает, что по умолчанию два списка не совпадают.
a = input()
list_a = list(a)
b = input()
list_b = list(b)
list_are_the_same = False
for i in range(len(a)):
added = list_a[-1]
list_a.pop()
list_a.insert(0, added)
if list_a == list_b:
list_are_the_same = True
break
result = 'Yes' if list_are_the_same else 'No'
print(result)
Я сделал еще одно редактирование — вам не нужно явное continue
для else , это происходит в любом случае.
РЕДАКТИРОВАТЬ (спасибо python_learner за то, что научил меня новой конструкции на python): Вы также можете использовать оператор else для циклов for, и код станет:
a = input()
list_a = list(a)
b = input()
list_b = list(b)
for i in range(len(a)):
added = list_a[-1]
list_a.pop()
list_a.insert(0, added)
if list_a == list_b:
print('Yes')
break
else:
print('No')