【发布时间】:2019-11-03 10:39:49
【问题描述】:
目前,我正在努力了解列表理解,并尝试尽可能多地使用它来构建一个 blackkack 游戏。我被困在这个特定的点上:
elif card == (char for char in ["K", "J", "Q"]):
print("Detected facecard")
我知道使用字典或其他方法可能会更容易,甚至只是扩展循环,但我特别想了解为什么这不起作用。
printing char for char in .... 生成对象类型而不是对象。
有什么建议吗?提前致谢
【问题讨论】:
-
为什么不只是
elif card in ['K', 'J', 'Q']:?? -
card永远不会等于生成器。如果你真的想这样写,也许像if any(char == card for char in [...]):。 -
还有,listcomps要放轻松,过度使用是很正常的
-
是的,我可以看到我会开始过度使用它们,这只是我想练习的东西,尤其是双循环。感谢大家的帮助
标签: python python-3.x if-statement list-comprehension