目录
任务描述
本关介绍运算符中的逻辑运算符,逻辑运算符能够将语句连接成更加复杂的复杂语句。逻辑运算符要求操作数的类型为逻辑型,其运算结果也为逻辑型的值。
以下为逻辑运算的现实场景: 假设没有说谎代表逻辑真,说了谎代表逻辑假。tom 没有说谎,jerry 也没有说谎,则逻辑与表示 tom 与 jerry 都没有说谎,逻辑与的值为真。tom 没有说谎,jerry 说谎了,则逻辑与的值为假。
本关的任务就是让学习者运用 Python 中的逻辑运算符来得出 tom 与 jerry 是否有说谎。
相关知识
Python 中的逻辑运算符包括如下三种:
-
and
:逻辑与; -
or
:逻辑或; -
not
:逻辑非。
and
逻辑与
逻辑表达式为x and y
。当 x
为 False
时,x and y
返回 False
,否则它返回y
的计算值。
or
逻辑或
逻辑表达式为x or y
。当x
为true
、y
为false
时,得到的结果为true
。只有当x
与y
都为false
时,得到的结果才为false
。如果 x
是非 0
,它返回 x
的值,否则它返回y
的计算值。
not
逻辑非
逻辑表达式为not x
。当x
为true
时,得到的结果为false
,当x
为false
时,得到的结果为true
。
如果您想了解更多运算符的相关知识,请参考:[美] Katie Cunningham 著《 Python 入门经典》
第二章
编程要求
本关的编程任务是补全logic.py
文件中的代码,对于输入的tom
与jerry
的真假性实现如下功能:
-
计算
jerry
的逻辑非,并打印输出; -
计算
tom
与jerry
的逻辑与,并打印输出。
本关涉及的代码文件框架如下:
# 定义逻辑运算处理函数theLogic,其中tom与Jerry分别代表两个输入参数
def theLogic(tom,jerry):
# 请在此处填入jerry的布尔“非”代码,并将结果存入到not_result这个变量
########## Begin ##########
########## End ##########
print(not_result)
# 请在此处填入tom、jerry的逻辑与代码,并将结果存入到and_result这个变量
########## Begin ##########
########## End ##########
print(and_result)
测试说明
本关的测试文件是src/step2/logictest.py
文件,测试的具体过程如下:
-
学习者将
src/Step2/logic.py
中的代码补充完毕; -
点击评测,平台自动编译运行
logictest.py
,并以标准输入方式提供测评输入,并调用在logic
文件中实现的函数; -
平台获取程序的输出,然后将其与预期输出对比。如果一致则测试通过,否则测试失败。
以下是平台对src/step2/logictest.py
的样例测试集:
测试输入:
2
5
预期输出:
False
5
开始你的任务吧,祝你成功!
# 定义逻辑运算处理函数theLogic,其中tom与Jerry分别代表两个输入参数
def theLogic(tom,jerry):
# 请在此处填入jerry的布尔“非”代码,并将结果存入到not_result这个变量
########## Begin ##########
not_result=not jerry
########## End ##########
print(not_result)
# 请在此处填入tom,jerry的逻辑与代码,并将结果存入到and_result这个变量
########## Begin ##########
and_result=tom and jerry
########## End ##########
print(and_result)