目录
任务描述
变量是存储在内存中的值。在 Python 中,变量不需要声明的,变量的赋值操作就是变量的声明和定义过程,这个过程会在内存中为我们开辟一段存储空间存放我们所声明的变量。本关的任务是学习并掌握身份运算符,这个运算符可以判断两个变量的存储单元是否相同。
相关知识
Python 的身份运算符有以下两种:
is
;is not
。
is
运算符is
表示判断两个标识符的存储单元是否相同。若相同,则返回true
,否则返回false
。例如:
a = 10
b = 10
a is b
结果为:
true
is not
运算符is not
表示判断两个标识符的存储单元是否不相同。若不相同,则返回true
,否则返回false
。例如:
a = 10
b = 10
a is not b
结果为:
False
本关要求判断给定的两个对象的存储单元是否相同。
如果您想了解更多运算符的相关知识,请参考:[美] Katie Cunningham 著《 Python 入门经典》
第二章。
编程要求
本关的任务是补全identity.py
文件中的代码,实现如下功能:
-
判断输入的两个数
addressone
、addresstwo
是否有相同的存储单元; -
判断输入的两个数
addresstwo
、addressthree
是否没有相同的存储单元。
本关涉及的代码文件框架如下:
# 定义addressone和addresstwo两个变量,并为其赋值
addressone = 20
addresstwo = 20
addressthree = 12
# 在if后面的括号中填入判断变量addressone与变量addresstwo是否有相同的存储单元的语句
########## Begin ##########
if():
print("变量addressone与变量addresstwo有相同的存储单元")
else:
print("变量addressone与变量addresstwo的存储单元不同")
########## End ##########
# 在if后面的括号中填入判断变量addresstwo与变量addressthree是否没有相同的存储单元的语句
########## Begin ##########
if():
print("变量addresstwo与变量addressthree的存储单元不同")
else:
print("变量addresstwo与变量addressthree有相同的存储单元")
########## End ##########
测试说明
本关无测试文件,通关与否以输出结果作为判定。若与预期输出一致,则通关。以下是平台对src/step5/identity.py
的样例测试集:
预期输出:
变量addressone与变量addresstwo有相同的存储单元
变量addressone与变量addresstwo有相同的存储单元
开始你的任务吧,祝你成功!
# 定义addressone和addresstwo两个变量,并为其赋值
addressone = 20
addresstwo = 20
addressthree = 12
# 在if后面的括号中填入判断变量addressone与变量addresstwo是否有相同的存储单元的语句
########## Begin ##########
if(addressone is addresstwo):
print("变量addressone与变量addresstwo有相同的存储单元")
else:
print("变量addressone与变量addresstwo的存储单元不同")
########## End ##########
# 在if后面的括号中填入判断变量addresstwo与变量addressthree是否没有相同的存储单元的语句
########## Begin ##########
if(addressthree is not addresstwo):
print("变量addresstwo与变量addressthree的存储单元不同")
else:
print("变量addresstwo与变量addressthree有相同的存储单元")
########## End ##########