好吧,答案可能很明显,但我不知道如何让程序根据用户输入的内容做出不同的响应。在
octopusList = {"first": ["red", "white"],
"second": ["green", "blue", "red"],
"third": ["green", "blue", "red"]}
squidList = ["first", "second", "third"]
squid = random.choice(squidList)
octopus = random.choice(octopusList[squid])
列表和鱿鱼章鱼生成一个随机短语
^{pr2}$
如果用户在octopusList上输入任何内容,这应该打印squid+“”+octopus。或者,如果用户键入“Something”,它应该返回短语“大象是厚皮动物”。如果用户输入任何esle,它应该返回短语“这是另一个要考虑的文本”。最后它应该打印“一个更多的评论”。不管用户输入什么,它实际做的是直接跳转到其他地方。
它和其他的东西很不一样,所以我对if和elif有些东西不了解。。。谢谢你能照亮这一切。在
编辑:在Ned Batchelder格式化了代码之后,我重新阅读了这个问题,看我对你想做什么的猜测并不完全正确。。。尽管还不能百分之百的清楚你是否在尝试循环。如果您只想经历一次,就不需要while循环,只需删除它。至于针对名为octopusList的dictionary中的值测试输入,可以使用in test,但这只针对dict的键进行测试。如果您在dict条目中寻找值,那么您要么将octopusList设置为一个true列表(例如
octopusList = ['red', 'white', 'blue', 'green']
),然后进行in-test(例如if resp in octopusList:
),要么在解析dict时稍微复杂一点原始答案: 似乎您正在尝试创建一个循环来获取用户输入并打印一个字符串以响应该输入。如果是这样的话,我认为有一些事情需要纠正:
这不是标记的家庭作业,所以我在下面贴了代码来做我认为你想做的事情。如果您希望octopus值对用户保持未知,只需删除
print octopus
行,但我将其放入其中,以便您知道要输入什么值进行测试。在如果我的猜测和建议偏离了目标,请提供一个更好的解释,你正在试图做什么。在
将字符串与字典进行比较没有任何用处(它总是错误的,IIRC)您可能想要“
if resp in octopusList
”吗?我不知道为什么第二个条件永远不会命中,也许你键入的是“something”而不是“something”?在您正在将字符串(
resp
)与列表进行比较。你想要这样的东西吗:相关问题 更多 >
编程相关推荐