任务说我必须用输入字符串创建一个函数。在函数内部,我有两个元组。第一个 - 对于姓名,第二个 - 对于姓氏,如果此字符串包含来自第一个元组的名称,则必须使用具有相同索引的姓氏返回此名称。
这就是我所做的:
def find_full_name(text):
if not text or type(text) != str:
return text
names = ("Joe", "Scott", "John", "Stephen")
surnames = ("Warren", "Rixner", "Greiner", "Wong")
for name in names:
if name in text:
return name
我的代码只返回名称,我也无法弄清楚如何返回姓氏。我一直在尝试比较names.index()== surnames.index()之类的索引,但我没有帮助。
答案 0 :(得分:2)
您可以在名称元组中找到名称的索引:
ix = names.index(name)
然后你可以用该索引索引另一个元组:
return (name, surnames[ix])
或者(并且更有效率),您可以改变循环以首先使用索引:
for ix in range(len(names)):
name = names[ix]
if name in text:
return (name, surnames[ix])
答案 1 :(得分:0)
您可以使用Index方法从名称元组的索引中检索姓氏。
def find_full_name(text):
names = ("Joe", "Scott", "John", "Stephen")
surnames = ("Warren", "Rixner", "Greiner", "Wong")
if not text or type(text) != str:
return text
else:
for name in names:
if name in text:
return surnames[names.index(name)]