【头歌】python程序设计——运算符的使用

第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)


    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值