第6关:运算符的优先级

本文介绍了编程中运算符优先级的重要性,详细列举了各类运算符的优先级,并给出了编写Python代码实现特定运算顺序的示例,包括左移、位与、加法和乘法操作。任务要求学习者按照优先级规则完成特定的运算表达式计算。
摘要由CSDN通过智能技术生成

目录

任务描述

相关知识

运算符优先级

编程要求

测试说明


任务描述

运算符的优先级是不同的,并且存在高低之分,所以并不是所有的计算语句都是从左至右运算的。在编写程序时,若在一个计算语句中出现了多个运算符,那就要根据运算符的优先级来排列规划数值计算顺序,不然就会得到错误的计算结果。本关的任务是让学习者掌握运算符的优先级,并能根据要求写出运算语句。

相关知识

运算符优先级

要实现上述功能,需要掌握运算符的优先级。下表列出了优先级由高到低的所有运算符:

类别类型名
**指数(最高优先级)
~ + -按位翻转,一元加号和减号(最后两个的方法名为 +@ 和 -@)
 /  % //乘,除,取模和取整除
+ -加法,减法
>> <<右移,左移运算符
&位 (AND )
^位运算符
<= < > >=比较运算符
<> == !=等于运算符
= % = /= //= -= += *= **=赋值运算符
is is not身份运算符
in not in成员运算符
not or and逻辑运算符

如果您想了解更多运算符的相关知识,请参考:[美] Katie Cunningham 著《 Python 入门经典》第二章。

编程要求

本关的编程任务是补全priority.py文件中的功能。具体要求如下:

  • 先将var1左移两位,然后计算var1var2的和,最后将这个值乘以var3,输出最后的值;

  • 先将var1var2按位与,然后计算得到的值与var3的和,最后将这个值乘以var4,输出最后的值。

本关涉及的代码文件框架如下:

 
  1. # 定义并实现优先级运算函数theProirity
  2. def thePriority(var1,var2,var3,var4):
  3. # 先将var1左移两位,然后计算var1与var2的和,最后将这个值乘以var3,并将最终结果存入result变量
  4. ########## Begin ##########
  5. ########## End ##########
  6. print(result)
  7. # 先将var1与var2按位与,然后计算得到的值与var3的和,最后将这个值乘以var4,并将最终结果存入result变量
  8. ########## Begin ##########
  9. ########## End ##########
  10. print(result)

测试说明

本关的测试文件是src/step6/prioritytest.py文件,测试的具体过程如下: 1.学习者将src/Step6/priority.py中的代码补充完毕,然后点击评测。平台自动编译运行 prioritytest.py ,并以标准输入方式提供测评输入,调用prority中的thePriority函数;

2.平台获取程序的输出,然后将其与预期输出对比。如果一致则测试通过,否则测试失败。

以下是平台对src/step6/prioritytest.py的样例测试集: 测试输入:

 
  1. 5
  2. 3
  3. 12
  4. 43

预期输出:

 
  1. 276
  2. 559

开始你的任务吧,祝你成功!

# 定义并实现优先级运算函数theProirity
def thePriority(var1,var2,var3,var4):
    # 先将var1左移两位,然后计算var1与var2的和,最后后将这个值乘以var3,并将最终结果存入result变量
    ########## Begin ##########
    a=var1 << 2
    b=a+var2
    result=b*var3
    ########## End ##########
    print(result)


    # 先将var1与var2按位与,然后计算得到的值与var3的和,最后后将这个值乘以var4,并将最终结果存入result变量
    ########## Begin ##########
    a= var1 & var2
    b=a+var3
    result=b*var4
    ########## End ##########
    print(result)


    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式Dora

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值