首先,你知道为什么这个代码根本不起作用吗?当我给它的输入是“当史蒂夫出生的时候”,它什么都没有返回。其次,我几乎可以肯定,这可以用一种更有效的方式编写,这将使程序执行所需的时间更少。有任何想法吗?谢谢!检查字符串是否包含嵌套列表的值 - python
import sys
Bill_Gates = ["bill gates","1955", "Co-founder of Microsoft"]
Steve_Jobs = ["steve jobs","1955", "Co-Founder of Apple"]
Albert_Einstein = ["albert einstein","1879", "Phycisist"]
PEOPLE = [Bill_Gates, Steve_Jobs, Albert_Einstein]
userInput = input("say something")
#checking if userInput contains the peoples name
if userInput in [j for i in PEOPLE for j in i]:
for i in range(len(PEOPLE)):
if PEOPLE [i][0] in userInput:
if "when was" in userInput:
if "born" in userInput:
print(PEOPLE[i][0] + "was born in " + PEOPLE[i][1])
UPDATE: Ahsanul哈克给我只是回答我正在寻找。
感谢,正是我一直在寻找。 –
@UlrikKarlsson很高兴它有所帮助。如果你觉得答案满足你的问题,你可以考虑接受答案,而不是在问题中提及它。这将有助于其他用户。 –