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"))
ning419 回答:Python中的两个简单的if-else代码,难道它们不返回相同的值吗?为什么每个人还返回其他东西

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

第二个仅检查word中的第一个字符,如果相等则返回True,否则返回False

无需循环,请使用in关键字

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

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

本文链接:https://www.f2er.com/2950114.html

大家都在问