开发者社区> 问答> 正文

条件为真,但是if语句返回了false

以下代码(>)表示输入

color = ['grey', 'red', 'green', 'yellow', 'blue', 'magenta', 'cyan', 'white']
nickcolor = input()
>red
nickcolor in color
>True

然后,我写

if nickcolor in color == True:
    print('You are now logged in ' + nickname + ' !\n Write something in chat!')
else:
    print('Error occured. Please restart.')
>Error occured. Please restart.

为什么在if语句中为“假”呢?

展开
收起
安忆333 2019-12-02 17:10:24 1092 0
1 条回答
写回答
取消 提交回答
  • 这是由于Python的运算符链接逻辑:

    nickcolor in color == True
    

    实际上被解析为:

    (nickcolor in color) and (color == True)
    

    color不等于True,所以整个条件是False。 请注意,这里实际上并不需要这些,因为nickcolor in color已经是一个条件,您可以这样编写if:

    if nickcolor in color:
    
    2019-12-02 17:12:35
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载