桐祈 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 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥30 自适应 LMS 算法实现 FIR 最佳维纳滤波器matlab方案
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥15 Python3.5 相关代码写作
  • ¥20 测距传感器数据手册i2c
  • ¥15 RPA正常跑,cmd输入cookies跑不出来
  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动