s1 = input("enter 1st string: ")
s2 = input("enter 2nd string: ")
if s2 in s1:
print("found")
else:
print("not found")
简单地说,我想说是否我给s1提供了一些输入,而没有给s2提供任何输入,然后按Enter,此代码的输出显示为“找到” 这是错误的,因为在我的字符串s1中没有空格,那么为什么会发生呢?以及如何纠正?
答案 0 :(得分:2)
每个字符串都包含空字符串,因此'' in 'anything'
始终为True
。
答案 1 :(得分:1)
每个字符串始终包含空字符串。
i = 'anything'.count('')
print(i)
# 9
如您所见,在每个字母之间以及字符串前后,都有“空字符串”。
在您的示例中,可以确保这样输入一个非空字符串:
while(True):
s1 = input("enter 1st string: ")
if s1 != '':
break
while(True):
s2 = input("enter 2nd string: ")
if s2 != '':
break
if s2 in s1:
print("found")
else:
print("not found")
还请注意:
s = '' + 'a' + '' + 'n'+ '' + 'y' + '' + 't' + '' + 'h' + '' + 'i' + '' + 'n' + '' + 'g' + ''
print(s == 'anything')
# True
print(s.count('')
# 9
添加更多的空字符串没有任何效果。
s += ''
print(s.count('')
# 9