明白了!这与答案不同,但我在firstName中添加了一个空格字符,然后编辑了变量lastName
def nameFinder(rollCall, aName):
spaceCharacter = aName.index(" ")
firstName = aName[0:spaceCharacter]
lastName = aName[spaceCharacter:len(aName)+1]
if (firstName in rollCall) or (lastName in rollCall):
return True
else:
return False
rollCall = "Bobby Lee", "Margaret Me"
print(nameFinder(rollCall, "Bob Ce"))
对于这个函数,我必须找到rollCall中的名字还是姓氏。它不必是第一个和最后一个,只需要第一个或最后一个。例如,“Bob Ce”将导致False,因为“Bob”不在点名中。我怎样才能做到这一点,因为它总是导致真实的结果
您的版本已修改
基本上,我们分割aName,然后循环rollCall,尝试匹配所有名称。如果其中一个匹配,则返回true。否则,返回false
占用较少行数的版本
以下代码将首先将两个列表合并为first、Last、First2、Last2,然后根据输入的名称进行扫描,如果至少有一个匹配,则返回true:
注意:由于我们正在检查列表中是否存在任何一个名称,我认为合并两个列表将简化代码。然而,如果只给你[“Bobby Lee”,“Margaret Me”],那么这个函数将像一个符咒一样工作
从代码中删除
(firstName in studentList) or
后,我将False
作为输出我相信if语句中的
firstName in studentList
是真的,所以True or False
的结果是True
还请注意,您正在检查
lastName in rollCall
语句中的if
,代码中的lastName
是' Ce'
相关问题 更多 >
编程相关推荐