繁体   English   中英

我想在 for 循环结束时打印“否”。 我应该怎么做?

[英]I want to print 'No' at end of the for loop. How should I do?

如果有相同的词,我成功地返回“是”但是......

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 循环结束时返回“否”?

你需要的是一个辅助标志来告诉你你是这两种情况中的哪一种。 默认为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)

我又做了一次编辑——你不需要为 else 显式地continue ,无论如何都会发生这种情况。

编辑(感谢 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')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM