桐祈 2023-04-01 14:11 采纳率: 42.9%
浏览 8
已结题

关于逻辑运算符#python#的问题,如何解决?

逻辑运算符(python)理解
a = 12
b = 20
#and
if(a and b):
    print("变量a和b都为true")
else:
    print("变量a和b有一个不为true")

#or
if(a or b):
    print("变量a和b都为true,或其中一个变量为true")
else:
    print("变量a和b都不为true")
    
#修改变量a的值
a = 0
if(a and b):
    print("变量a和b都为true")
else:
    print("变量a和b有一个不为true")


运行结果:

变量a和b都为true
变量a和b都为true,或其中一个变量为true
变量a和b有一个不为true

######问题:
主要是修改变量a的值下面这块。
个人理解,不应该是重新定义的a, a返回的是true嘛

  • 写回答

1条回答 默认 最新

  • Taylor 淡定哥 2023-04-01 14:24
    关注

    任何非零数值或非空容器都被视为True,而0或空容器被视为False。在你的代码中,当a的值为12时,它被视为True,因此第一个if语句输出“变量a和b都为true”,第二个if语句输出“变量a和b都为true,或其中一个变量为true”。

    但是,将a的值更改为0时,a被视为False,因此第三个if语句输出“变量a和b有一个不为true”。

    请注意,逻辑运算符and和or的工作原理如下:

    and:如果所有表达式都为True,则返回最后一个表达式的值,否则返回第一个为False的表达式的值。
    or:如果至少有一个表达式为True,则返回第一个为True的表达式的值,否则返回最后一个表达式的值。
    在第三个if语句中,当a的值为0时,a为False,因此整个表达式的值为False,因此输出“变量a和b有一个不为true”。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月9日
  • 已采纳回答 4月1日
  • 创建了问题 4月1日

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog