幕后发生了什么?

时间:2019-05-21 16:09:03

标签: python string substring

当输入中连续至少有七个“ 1”或“ 0”时,程序必须打印“是”。

str = input()

    if '1111111' or '0000000' in str:
    print("YES")
else:
    print("NO")

问题: 输入为001001时,程序显示输出为“ YES”。我了解无法像这样检查字符串的概念     如果是str中的'1111111'或'0000000':但无法找出幕后情况。

期望:解释输出为“是”的幕后情况。

1 个答案:

答案 0 :(得分:1)

您应该改为编写以下代码:

str = input()
if '1111111' in str or '0000000' in str:
    print("YES")
else:
    print("NO")

据我所知,'11111111' or '0000000'对这两个字符串执行按位运算,并始终返回'1111111',该值非零,因此为true。因此,您的if语句始终会被执行