python - 如何从输入中获取布尔值?
问题描述
我想问用户一个真/假问题并从中获得一个布尔值,但我真的不明白它是如何.bool()
工作的。这更像是“我能做什么?” 而不是“有什么问题?”。
例如,这就是我的代码的样子:
question = input("Is the Earth flat? ")
if question.bool() is True:
print("You dumb.")
我知道这是不正确的,但我不确定什么会起作用!
是什么使.bool()
寄存器为真或假?
我认为这可能是我必须做的,但似乎不对:
if question == "Yes" or "Yeah" or "Y" or "Duh".lower()
print("You dumb.")
解决方案
用于in
此,而不是多个or
语句,因为它的正确形式可读性较差且效率较低。也sets
非常适合检查包容性。
question = input("Is the Earth flat? ")
if question.lower() in {"yes", "yeah", "y", "duh"}:
print("You dumb.")
您甚至可以创建一个自定义函数来提出问题并返回布尔结果
def ask_bool(question):
return input(question).lower() in {"yes", "yeah", "y", "duh"}
然后要求一个布尔答案:
if ask_bool("Is the Earth flat? "):
print("You dumb.")
推荐阅读
- vue.js - 使用多组复选框过滤结果
- java - 进行堆转储会导致崩溃
- ios - RN - 未找到选项 AppAuth 的 IOS 目录
- moodle - R 考试中的答案框
- python - 如何根据选择的 click.option 运行特定功能?
- javascript - 如何在每个新月安排 node-cron 作业?
- azure - Azure AppService 几次无法从 Azure 容器注册表中提取 docker 映像
- azure - Azure 永久将 IP 列入白名单
- python - Sphinx 不读取我的函数 docString?
- sql - Postgres查询根据状态条件将多行合并为一