我试图让用户输入他们是否喜欢辛辣的食物,输出应该是一个布尔值,但我似乎没有得到下面代码的输出:

def likes_spicyfood():

spicyfood = bool(input("Do you like spicy food? True or False?"))

if spicyfood == ("True"):

print("True")

if spicyfood == ("False"):

print("False")

return(likes_spicyfood)

提示:使用空输入进行测试。

嗯:1。任何非空字符串输入都将计算trust-y;和2。两个布尔值都不等于字符串"True"或"False"。同样,等式计算中的括号也是多余的。你可以跳过bool;"True" =="True"。

为什么要将用户输入转换为布尔值,然后将其与字符串进行比较?只是不要转换它。

在输入正常工作之前删除bool语句

另外,如果要返回布尔值,为什么要打印字符串("true")。而是使用返回true

尝试将您的输入转换为bool不会像这样工作。python考虑任何非空字符串True。因此,执行bool(input())基本上与执行input() != ''相同。即使输入不是"True",两者都返回true。只需将直接给出的输入与字符串"True和"False"进行比较:

def likes_spicyfood():

spicyfood = input("Do you like spicy food? True or False?")

if spicyfood =="True":

return True

if spicyfood =="False":

return False

注意,如果输入不是"True或"False",上述代码将失败(返回None而不是布尔值)。如果原始输入无效(即不是"True或"False"),请考虑返回默认值或重新要求用户输入。

是的,但是为什么要使用两个if语句而不是elif?

嗯,主要是想和操作代码@anton保持一致。

老实说,这是相当令人困惑的为什么OP决定写这样一个奇怪的程序,我想他们只是练习。

是的,可能是@a.smoliak。我不清楚他为什么要尝试返回他的函数对象,所以这是我自由删除的一件事。对了,回答得很好!我肯定会投赞成票。

这是我第一次使用python,我正在做家庭作业,我根本不知道if函数,所以这就是为什么我想出了一个令人困惑的程序,我很抱歉。我们刚刚学会了回归,如果是这样的话,那就是为什么他们要求我们在每个函数结束时回归的原因。

不用担心@user5556453。我们都必须从某个地方开始:(-)但是,在发布下一篇文章之前,我建议您参加巡演并访问帮助中心,熟悉堆栈溢出的工作原理。

此功能是否打印出用户答案?

不,不是@user5556453。这个函数名为likes_spicyfood,所以我假设它应该返回一个布尔值,表示用户是否喜欢辛辣的食物。如果要打印用户的答案,只需执行print(likes_spicyfood())。

哦,它应该返回一个布尔值!

如果您确定输入正确,可以执行以下操作:

def likes_spicyfood():

spicyfood = input("Do you like spicy food? True or False?")

return spicyfood.title() =="True"

为什么不更进一步,只写return input("Do you like spicy food? True or False?") =="True"。

@A.首先是Smoliak可读性。但是,编程有很多选择。

是的@a.smoliak,安东说的对。从python zen中:"可读性很重要。";-)当然,这不是一个硬性规则。在某些情况下,必须将性能置于可读性之上,但在Python中,这些情况非常罕见。

在您的使用中,将string转换为bool将不是一个有效的解决方案。在Python中,如果将字符串转换为bool,例如:bool("False"),布尔值将为True,这是因为如果将非空字符串转换为bool,它将始终转换为True,但如果尝试将空字符串转换为bool,则会得到False。

为了解决你的问题,必须做一些改变。首先,您的代码示例甚至不调用您询问用户是否喜欢辛辣食物的函数,所以在代码的最底层调用它。埃多克斯1〔18〕

第二件事你必须改变的是,你必须简单地使用用户类型True或False,就像你在代码中使用的那样,但是不要将值从string转换为bool,只需取string并将其与'True'或'False'进行比较,这里是完整的代码:

def likes_spicyfood():

spicyfood = input("Do you like spicy food? True or False?")

if spicyfood =="True":

print("The user likes spicy food!")

if spicyfood =="False":

print("The user hates spicy food!")

return likes_spicyfood

likes_spicyfood()

您还将看到我返回了一些多余的括号:当将输入值与'True'或'False'进行比较时,以及在重新执行likes_spicyfood时。下面介绍如何将字符串转换为bool

试试这个。在0和1中要求答案,然后将其转换为布尔值。就像我在下面的例子中所做的那样

isTrue = True

while isTrue:

isTrue = bool(int(input("Continue? 1 for yes, 0 for no:")))

不要将输入转换为bool。以后再做一个检查它是真是假的条件

像这样:)

def likes_spicyfood():

spicyfood = input("Do you like spicy food? True or False?")

while spicyfood!="True" or"False":

spicyfood=input("Do you like spicy food? True or False?")

if spicyfood == ("True"):

print("True")

if spicyfood == ("False"):

print("False")

return(likes_spicyfood)

我该怎么做?

@用户5556453更新了解决方案

python布尔值print_python中的用户输入布尔值相关推荐

  1. 深度解析Go中的用户输入获取(fmt.Scan fmt.Scanln fmt.Scanf),含多项测试及源码解读

    Go中的标准输入处理及测试 前言 fmt.Scan, fmt.Scanln, 和 fmt.Scanf 是 Go 语言标准库中用于读取用户输入的函数.在使用过程中,我发现了他们不符合预期的表现,于是进行 ...

  2. 「Python|输入输出」如何进行用户输入、文件输入和输出

    本文主要介绍Python中如何让用户进行内容输入,如何从文件中读取数据作为输入以及如何将数据保存到文件中 文章目录 如何让用户进行内容输入 如何从文件中获取数据到程序(内存)中 如何将程序数据存储到文 ...

  3. easyui中combobox 验证输入的值必须为选项框中的数据

    当作为提示框的方式时,combobox必须设置为允许用户输入的模式,但是当用户输入后未选择正确的数据就直接按tab或点击鼠标离开控件会导致用户输入无效的值并且通过验证,为了避免这种情况的发生我们需要对 ...

  4. 编写一个python程序判断用户输入的8位银行卡_用Python编写的程序,提示用户输入一个由7位数字组成的帐号?...

    我在上一门Python入门课程,但有点困在作业上.任何建议或资源将不胜感激!在 问题是: 用Python编写一个程序,提示用户输入由7位数字组成的帐号.在 从用户处获取该帐号后,验证该帐号是否有效.您 ...

  5. html中做用户输入的判断

    html中做用户输入的判断 当用户输入信息时,要做一个对用户输入的信息做一个判断.这样的判断可直接由客户端进行判断.例如: 验证一个用户输入字符是否符合要求的代码: <!doctype html ...

  6. 虚拟机Linux中判断用户输入的是 Yes 或 NO

    Linux中判断用户输入的是 Yes 或 NO #!/bin/bash # 判断用户输入的是 Yes 或 NO read -p "Are you sure?[y/n]:" sure ...

  7. LSTM模型在问答系统中的应用 2017-06-27 21:03 在问答系统的应用中,用户输入一个问题,系统需要根据问题去寻找最合适的答案。 1:采用句子相似度的方式。根据问题的字面相似度选择相似度最

    LSTM模型在问答系统中的应用 2017-06-27 21:03 在问答系统的应用中,用户输入一个问题,系统需要根据问题去寻找最合适的答案. 1:采用句子相似度的方式.根据问题的字面相似度选择相似度最 ...

  8. 响应QML中的用户输入

    响应QML中的用户输入 响应QML中的用户输入 支持的用户输入类型 鼠标和触摸事件 键盘和按钮事件 响应QML中的用户输入 支持的用户输入类型 在Qt Quick的模块提供了最常见的类型的用户输入,包 ...

  9. linux获取read值,read命令读取用户输入

    read命令用于从终端或文件中读取用户输入,它读取整行输入,如果没有指定名称,读取的行被赋值给内部变量REPLY. read命令常用选项:-a,-p,-s,-t,-n 1.REPLY变量 $read ...

  10. rstudio r语言_如何在R中接受用户输入?

    rstudio r语言 Taking a user input is very simple in R using readline() function. In this tutorial, we ...

最新文章

  1. call_user_fun()函数的使用
  2. 大数据WEB阶段(九)Servlet+Request
  3. 如何从单个服务器扩展到百万用户的系统?
  4. etcd v3 集群——简单配置
  5. 收藏 | EXCEL的36个逆天功能,动画教程
  6. 跨平台开发框架 Lynx 初探
  7. JSON转换为excel工具
  8. [转]天天生鲜,html效果布局
  9. 读书笔记--疯狂Android讲义 目录
  10. java day38【Servlet 、HTTP协议 、Request】
  11. 实战案例:探索星巴克的世界分布
  12. 【图像修复】论文阅读笔记 ----- 《Image inpainting based on deep learning: A review》
  13. 氨基酸三字母序列转单字母序列
  14. ASCII码表和常见键盘码
  15. MPI并行编程: 矩阵乘法,积分计算,PSPR排序
  16. 史上最全WindowsMac系统各种快捷键大全(1000余个)
  17. [存储]NVMe-4-数据结构
  18. 专业的PDF分割,PDF合并软件-LinkPdf转换器
  19. Scratch-弹球游戏项目需求分析
  20. 金山:2月新增病毒356万 十大病毒出炉

热门文章

  1. u890安装显示iis服务器,XP纯净版系统下安装用友U8提示iis不符合怎么办
  2. 圆弧周长公式_弧长的计算公式是什么?
  3. 用Gitosis搭建Git服务器(经典资料)
  4. c语言万花筒,C/C++——元胞自动机万花筒
  5. 16代表啥_16代表的爱情恋爱含义16代表什么爱情含义
  6. 【动态更新】解决夫妻两地分居手续
  7. 关于java.io.FileNotFoundException: test.txt (系统找不到指定的文件。)的问题解决办法。(相对路径出错)
  8. RocketMQ-单条消息大小上限
  9. 数据结构习题集1-8:总结篇
  10. centos7.6安装lnmp环境