Python 如何从输入中计算列表中的独立项
制作一个响应用户输入的简单程序 在本例中,输入“I like math”将返回响应“That's cool”。 如果用户从列表中输入两项,例如“我喜欢数学和生物学”,我希望响应发生变化 我决定使用count函数来完成这项工作,但它总是返回值0。 我需要做什么才能得到if响应Python 如何从输入中计算列表中的独立项,python,Python,制作一个响应用户输入的简单程序 在本例中,输入“I like math”将返回响应“That's cool”。 如果用户从列表中输入两项,例如“我喜欢数学和生物学”,我希望响应发生变化 我决定使用count函数来完成这项工作,但它总是返回值0。 我需要做什么才能得到if响应 list = ["math", "physics", "biology", "computer science"] favsub = input("What are your favorite subjects? \n")
list = ["math", "physics", "biology", "computer science"]
favsub = input("What are your favorite subjects? \n")
favsub = favsub.lower()
favsub = favsub.split()
num = favsub.count(list)
if num == 2:
print("Both?")
else
print("That's cool")
上面的代码是一个简化的示例,如果您想查看实际代码,我会将其保留在google文档中。只计算单个元素x
。当然,您的列表不是favsub
的元素,它也不会神奇地对其元素的计数求和。但是,在您的方法的基础上,您可以使用:
通常,您不应该命名变量list
(或str
,int
等),因为它隐藏了内置名称 仅计算单个元素x
。当然,您的列表不是favsub
的元素,它也不会神奇地对其元素的计数求和。但是,在您的方法的基础上,您可以使用:
通常,您不应该命名变量
list
(或str
,int
等),因为它隐藏了内置名称 您可以创建列表集和favsub集,并获取交叉点的长度
注意:仅当列表和favsub中的所有短语都是单字且没有空格时,此操作才有效。您可以创建列表和favsub集,并获取交叉点的长度
注意:只有当列表和favsub中的所有短语都是单字且没有空格时,这才有效。您的方法太幼稚了。首先,您必须标记用户输入(如果用户输入的是
数学、物理
,而不是数学和物理
?。在这种情况下,拆分
不会将数学
与物理
分开)
然后您需要使用list
的每个成员调用favsub.count
(顺便说一句,这是一个错误的变量名,因为它隐藏了内置的list
)
我将建议另一种天真(但更简单)的方法。忘记分割和标记用户输入。只需搜索每个已识别的主题并将结果相加:
subjects_list = ["math", "physics", "biology", "computer science"]
favsub = input("What are your favorite subjects? \n")
favsub = favsub.lower()
count = 0
for subject in subjects_list:
if subject in favsub:
count += 1
print(count)
这与@schwobasegl的答案基本相同,但有一个明确的计数器。你的方法太幼稚了。首先,您必须标记用户输入(如果用户输入的是
数学、物理
,而不是数学和物理
?。在这种情况下,拆分
不会将数学
与物理
分开)
然后您需要使用list
的每个成员调用favsub.count
(顺便说一句,这是一个错误的变量名,因为它隐藏了内置的list
)
我将建议另一种天真(但更简单)的方法。忘记分割和标记用户输入。只需搜索每个已识别的主题并将结果相加:
subjects_list = ["math", "physics", "biology", "computer science"]
favsub = input("What are your favorite subjects? \n")
favsub = favsub.lower()
count = 0
for subject in subjects_list:
if subject in favsub:
count += 1
print(count)
这基本上与@schwobasegll的答案相同,但有一个明确的计数器。问题是
计算机科学
不是一个词。问题是计算机科学
不是一个词。