当输入中连续至少有七个“ 1”或“ 0”时,程序必须打印“是”。
str = input()
if '1111111' or '0000000' in str:
print("YES")
else:
print("NO")
问题:
输入为001001
时,程序显示输出为“ YES”。我了解无法像这样检查字符串的概念
如果是str中的'1111111'或'0000000':但无法找出幕后情况。
期望:解释输出为“是”的幕后情况。
答案 0 :(得分:1)
您应该改为编写以下代码:
str = input()
if '1111111' in str or '0000000' in str:
print("YES")
else:
print("NO")
据我所知,'11111111' or '0000000'
对这两个字符串执行按位运算,并始终返回'1111111'
,该值非零,因此为true。因此,您的if语句始终会被执行