gpt4 book ai didi

python - 为什么 IF 条件一直被评估为 True

转载 作者:行者123 更新时间:2023-12-03 20:07:01 26 4
gpt4 key购买 nike

为什么 if 语句被评估为 True每次,即使我故意为我的代码提供有偏见的输入。这是我的代码:

s1 = 'efgh'
s2 = 'abcd'

for i in range(0, len(s1)):
for j in range(1, len(s1)+1):
if s1[i:j] in s2:
print('YES')

它打印 YES , 6 次。这是为什么?

最佳答案

每当你有 i >= j , 你会得到一个空字符串 s1[i:j] .空字符串总是返回 True检查时in另一个字符串,因此您的打印语句。

相反,您应该开始 ji + 1 :

s1 = 'efgh'
s2 = 'abcd'

for i in range(0,len(s1)):
for j in range(i + 1,len(s1)+1):
if s1[i:j] in s2:
print('YES')

这没有输出。

Empty strings are always considered to be a substring of any other string, so "" in "abc" will return True.



Docs source

关于python - 为什么 IF 条件一直被评估为 True,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61699846/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com