制作一个简单的程序来响应用户的输入。你知道吗
在本例中,输入“I like math”将返回“That's cool”的响应。 如果用户从列表中输入两项,例如“我喜欢数学和生物”,我希望响应发生变化。你知道吗
我决定使用count函数来完成这个任务,但它总是返回值0。 我要怎么做才能得到if响应?你知道吗
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文档here中。你知道吗
你的方法太幼稚了。首先,您必须对用户输入进行标记化(如果用户输入
math,physics
而不是math and physics
,该怎么办?.split
在这种情况下不会将math
与physics
分开)。你知道吗然后需要用
list
的每个成员调用favsub.count
(顺便说一句,这是一个坏的变量名,因为它隐藏了内置的list
)。你知道吗我将建议另一种天真(但更简单)的方法。忘记拆分和标记用户输入。只需搜索每个已识别的主题并汇总结果:
这与@schwobasegll的答案基本相同,但有一个显式计数器。你知道吗
您可以改为创建list和favsub集,并获取交叉点的长度。你知道吗
注意:只有当list和favsub中的所有短语都是单字,没有空格时,这才有效。你知道吗
^{} 只计算单个元素} 执行以下操作:
x
。当然,您的列表不是favsub
的元素,也不会神奇地对其元素的计数求和。但是,基于您的方法,您可以使用^{通常,您不应该命名变量
list
(或str
、int
,等等),因为它隐藏了内置名称。你知道吗相关问题 更多 >
编程相关推荐