第1关:算术、比较、赋值运算符
本关的测试文件是src/step1/operatertest.py文件,测试过程如下:
1.将 src/step1/operater.py 中的代码补充完毕,然后点击评测。平台自动编译运行 operatertest.py,并以标准输入方式提供测评输入;
2.平台调用并执行读者编写的operater.py中的方法,获取程序的输出,然后将其与预期输出对比。如果一致则测试通过,否则测试失败。
# 定义theOperation方法,包括apple和pear两个参数,分别表示苹果和梨子的数量
def theOperation(apple,pear):
# 请在此处填入计算苹果个数加梨的个数的代码,并将结果存入sum_result变量
########## Begin ##########
sum_result = apple + pear
########## End ##########
print(sum_result)
# 请在此处填入苹果个数除以梨的个数的代码,并将结果存入div_result变量
########## Begin ##########
div_result = apple / pear
########## End ##########
print(div_result)
# 请在此处填入苹果个数的2次幂的代码,并将结果存入exp_result变量
########## Begin ##########
exp_result = apple * apple
########## End ##########
print(exp_result)
# 请在此处填入判断苹果个数是否与梨的个数相等的代码,并将结果存入isequal变量
########## Begin ##########
if apple == pear:
isequal = True
else:
isequal = False
########## End ##########
print(isequal)
# 请在此处填入判断苹果个数是否大于等于梨的个数的代码,并将结果存入ismax变量
########## Begin ##########
if apple > pear:
ismax = True
else:
ismax = False
########## End ##########
print(ismax)
# 请在此处填入用赋值乘法运算符计算梨个数乘以2的代码,并将结果存入multi_result变量
########## Begin ##########
multi_result = pear * 2
########## End ##########
print(multi_result)
第2关:逻辑运算符
本关介绍运算符中的逻辑运算符,逻辑运算符能够将语句连接成更加复杂的复杂语句。逻辑运算符要求操作数的类型为逻辑型,其运算结果也为逻辑型的值
# 定义逻辑运算处理函数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)
第3关:位运算符
程序中所有的数都是以二进制形式存储在计算机中的。例如,a = 13转化成二进制就是a = 1101,每一个数称为一位。位运算就是对二进制按位进行运算。本关的任务就是让学习者了解并能运用 Python 中的位运算符来进行运算。
# 定义位运算处理函数bit, 其中bitone和bittwo两个参数为需要进行位运算的变量,由测试程序读入。
def bit(bitone,bittwo):
# 请在此处填入将bitone,bittwo按位与的代码,并将运算结果存入result变量
########## Begin ##########
result = bitone & bittwo
########## End ##########
print(result)
# 请在此处填入将bitone,bittwo按位或的代码,并将运算结果存入result变量
########## Begin ##########
result = bitone | bittwo
########## End ##########
print(result)
# 请在此处填入将bitone,bittwo按位异或的代码,并将运算结果存入result变量
########## Begin ##########
result = bitone ^ bittwo
########## End ##########
print(result)
# 请在此处填入将bitone按位取反的代码,并将运算结果存入result变量
########## Begin ##########
result = ~bitone
########## End ##########
print(result)
# 请在此处填入将bittwo左移动两位的代码,并将运算结果存入result变量
########## Begin ##########
result = bittwo<<2
########## End ##########
print(result)
# 请在此处填入将bittwo右移动两位的代码,并将运算结果存入result变量
########## Begin ##########
result = bittwo>>2
########## End ##########
print(result)
第4关:成员运算符
如果我们想知道自己是否是篮球队成员,我们就要在成员名单中查找,如果名单中有一百人,最坏的情况下我们需要查找一百次,这需要多久的时间呀!与此同理,当我们在编程时判断一个元素是否存在于一大堆数据中,如果通过遍历一一对比,
# 定义成员片段函数member,参数me为待判断的人名,member_list为成员名单
def member(me,member_list = []):
# 请在if后面的括号中填入判断变量me是否存在于list中的语句
########## Begin ##########
if(me in member_list):
print("我是篮球社成员")
else:
print("我不是篮球社成员")
########## End ##########
# 请在if后面的括号中填入判断变量me是否存在于list中的语句
########## Begin ##########
if(me not in member_list):
print("我不是篮球社成员")
else:
print("我是篮球社成员")
########## End ##########
第5关:身份运算符
变量是存储在内存中的值。在 Python 中,变量不需要声明的,变量的赋值操作就是变量的声明和定义过程,这个过程会在内存中为我们开辟一段存储空间存放我们
# 定义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(addresstwo is not addressthree):
print("变量addresstwo与变量addressthree的存储单元不同")
else:
print("变量addresstwo与变量addressthree有相同的存储单元")
########## End ##########
第6关:运算符的优先级
运算符的优先级是不同的,并且存在高低之分,所以并不是所有的计算语句都是从左至右运算的。在编写程序时,若在一个计算语句中出现了多个运算符,那就要根据运算符的优先级来排列规划数值计算顺序
# 定义并实现优先级运算函数theProirity
def thePriority(var1,var2,var3,var4):
# 先将var1左移两位,然后计算var1与var2的和,最后后将这个值乘以var3,并将最终结果存入result变量
########## Begin ##########
result = ((var1<<2)+var2)*var3
########## End ##########
print(result)
# 先将var1与var2按位与,然后计算得到的值与var3的和,最后后将这个值乘以var4,并将最终结果存入result变量
########## Begin ##########
result = ((var1&var2) + var3) * var4
########## End ##########
print(result)