Python 中两个简单的 if-else 代码,它们不应该返回相同的值吗?为什么每个人都返回其他东西



Python中两个简单的if-else代码,它们不应该返回相同的值吗?为什么每个人都返回其他东西。

def letter_check(word, letter):
for i in word:
if i == letter:
return True
return False
# This returns True    
print(letter_check("strawberry", "a"))
# Same function?
def letter_check(word, letter):
for i in word:
if i == letter:
return True
else:
return False
# This returns False    
print(letter_check("strawberry", "a"))

它们不一样。仅当word中的所有字符都不等于letter时,第一个def才会返回False

第二个只检查word中的第一个字符,如果它们相等,则返回True,如果它们不相等,则返回False

无需顺便循环,使用in关键字

def letter_check(word, letter):
return letter in word

当您第二次调用letter_check("strawberry", "a")时,该函数返回False因为草莓的第一个字母是"s"而不是"a"。

相关内容

  • 没有找到相关文章

最新更新