python - 给定 Python 3 中值为“Y”或“N”的变量,如何获得布尔值?
问题描述
我得到一个输入为“Y”或“N”。如果 'Y' 否则我需要将其转换为 True 或 False 。为此,我遇到了这个构造。该代码有效,但我不知道它叫什么。
goto = "Y"
__goto = (False,True)[goto=="Y"]
有人可以解释这是如何工作的吗?这个结构叫什么?
解决方案
这太复杂了——goto=="Y"
已经给了你你需要的东西。
如果你想知道有问题的代码是如何工作的,goto=="Y"
给你 True 或 False。然后将其用于对元组 ( (False, True)
) 进行索引,因为布尔值可以用作整数 (False = 0, True = 1)。然后,这会给您返回您已经拥有的相同价值。
有效地如果goto
是"Y"
那么你得到
(False, True)[True] => (False, True)[1]
如果goto
还有什么你得到
(False, True)[False] => (False, True)[0]
推荐阅读
- multithreading - 在 QCustomPlot 中使用线程
- python - 对手血量不下降,转身不翻身
- asp.net - 默认网站 默认页面 iis 8
- python - 从 python 打开一个源终端
- java - 从 Spring Data 存储库读取时出现 StaleObjectStateException
- sonarqube - Sonarqube 和 lint 与 intellij
- reactjs - 在 Apache 中运行 create-react-app 的开发版本
- python - 如何在 SymPy 中生成给定维度的符号多元多项式?
- angularjs - 带有 Firebase 身份验证的 AngularJS
- mysql - 加入多个表 - 评论和回复