入门学习-Python-小甲鱼学习资料-Day006-Pyhon之常用操作符

本文深入探讨Python中的各种操作符,包括算术、比较、逻辑等,解析优先级和短路逻辑,提供实例代码,帮助读者掌握Python编程核心技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

标题 Pyhon之常用操作符

根据视频自己练习 :

视频练习代码 :
a=b=c=d=10 ; print(a-1) ; print(b+3) ; print(c*10)

print(d/4) ; print(d//4)

print(a%3) ; print(a%7)

print(2**10)

print(-32) # 幂操作符 比 左 侧优先级 高
print(3
-2) # 幂操作符 比 右 侧优先级 低

print(not 0) ; print(not 4) ; print(not False) # False 和 True 的首字母大写 , 小心了 !!!/print(not True)

print(3<4<5)
temp1 = 3
temp2 = 4
temp3 = 5
print(temp1<temp2<temp3) # 这个用法挺有意思

标题 006测试题答案:

  1. Python 的 floor 除法现在使用 “//” 实现,那 3.0 // 2.0 您目测会显示什么内容呢?

如果回答是 1.5 那么很遗憾,您受到 C 语言的影响比较大,Python 这里会义无反顾地执行 floor 除法原则,答案是:1.0

  1. a < b < c 事实上是等于?
    (a < b) and (b < c)

  2. 不使用 IDLE,你可以轻松说出 5 ** -2 的值吗?
    0.04,也就是 1/25
    幂运算操作符比其左侧的一元操作符优先级高,比其右侧的一元操作符优先级低。

  3. 如何简单判断一个数是奇数还是偶数?
    使用求余可以简单得到答案:能被 2 整除为偶数,所以 x % 2 == 0,否则为奇数。

  4. 请用最快速度说出答案:not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9
    如果你的回答是 0,那么小甲鱼很开心你中招了!
    答案是:4
    小甲鱼的解答 :
    not or and 的优先级是不同的:not > and > or
    我们按照优先级给它们加上括号:(not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9)
    == 0 or 0 or 4 or 6 or 9
    == 4
    为啥是 4?
    大家还记得第四讲作业提到的“短路逻辑”吗?3 and 4 == 4,而 3 or 4 == 3。
    所以答案是:4
    温馨提示:为了更好的表达你的程序,小甲鱼再次呼吁有些括号还是不能省下的,毕竟不是所有程序员都跟你一样都将优先级烂透于心的。

关于短路逻辑

“短路逻辑(short-circuit logic) :逻辑操作符有个有趣的特性:在不需要求值的时候不进行操作。这么说可能比较“高深”,举个例子,表达式 x and y,需要 x 和 y 两个变量同时为真(True)的时候,结果才为真。因此,如果当 x 变量得知是假(False)的时候,表达式就会立刻返回 False,而不用去管 y 变量的值。
这种行为被称为短路逻辑(short-circuit logic)或者惰性求值(lazy evaluation),这种行为同样也应用与 or 操作符 ,实际上,Python 的做法是如果 x 为假,表达式会返回 x 的值(0),否则它就会返回 y 的值(例子参考楼上)。
我的理解 :
还有很关键的一句 : and的左侧为Ture 以及 or的左侧为 False , 都不能使用 短路逻辑 ,这句话小甲鱼没说 , 依此重新分析 :
(not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9)
== 0 or 0 or 4 or 6 or 9 [注意 :0 or 0 or 4 这一段不适用短路逻辑 ]
== 0 or 4 or 6 or 9
== 4 or 6 or 9 [这时候 短路逻辑 开始生效]
== 4 or 9
== 4
这样就明白了 !

  1. 还记得我们上节课那个求闰年的作业吗?如果还没有学到“求余”操作,还记得用什么方法可以“委曲求全”代替“%”的功能呢?
    因为上节课我们还没有教大家“求余”的操作,所以小甲鱼使用了“if year/400 == int(year/400)”这样的方式来“委曲求全”。

动动手答案:
0. 请写一个程序打印出 0~100 所有的奇数。

  1. i = 0

  2. while i <= 100:

  3.  if i % 2 != 0:
    
  4.      print(i, end=' ')
    
  5.      i += 1
    
  6.  else:
    
  7.      i += 1
    
  8. 我们说过现在的 Python 可以计算很大很大的数据,但是…真正的大数据计算可是要靠刚刚的硬件滴,不妨写一个小代码,让你的计算机为之崩溃?
    print(2 ** 2 ** 32)

一般很多机子都会在一会儿之后:Memory Overflow,内存不够用。

设计到幂操作,结果都是惊人滴。

2.爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。
题目:请编程求解该阶梯至少有多少阶?

  1. x = 7
  2. i = 1
  3. flag = 0
  4. while i <= 100:
  5.  if (x%2 == 1) and (x%3 == 2) and (x%5 == 4) and (x%6==5):
    
  6.      flag = 1
    
  7.  else:
    
  8.      x = 7 * (i+1) # 根据题意,x一定是7的整数倍,所以每次乘以7
    
  9. i += 1
    
  10. if flag == 1:
  11. print('阶梯数是:', x)
    
  12. else:
  13. print('在程序限定的范围内找不到答案!')
    

下面是我写的代码 : 答案是 119
stepright = 0
markit = True
while not (stepright%2 ==1 and stepright%3 == 2 and stepright%5 == 4 and stepright%6 == 5 and stepright%7 == 0):
stepright = stepright+1
print("满足要求的最小步数是: ",stepright)

资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 在当今的软件开发领域,自动化构建与发布是提升开发效率和项目质量的关键环节。Jenkins Pipeline作为一种强大的自动化工具,能够有效助力Java项目的快速构建、测试及部署。本文将详细介绍如何利用Jenkins Pipeline实现Java项目的自动化构建与发布。 Jenkins Pipeline简介 Jenkins Pipeline是运行在Jenkins上的一套工作流框架,它将原本分散在单个或多个节点上独立运行的任务串联起来,实现复杂流程的编排与可视化。它是Jenkins 2.X的核心特性之一,推动了Jenkins从持续集成(CI)向持续交付(CD)及DevOps的转变。 创建Pipeline项目 要使用Jenkins Pipeline自动化构建发布Java项目,首先需要创建Pipeline项目。具体步骤如下: 登录Jenkins,点击“新建项”,选择“Pipeline”。 输入项目名称和描述,点击“确定”。 在Pipeline脚本中定义项目字典、发版脚本和预发布脚本。 编Pipeline脚本 Pipeline脚本是Jenkins Pipeline的核心,用于定义自动化构建和发布的流程。以下是一个简单的Pipeline脚本示例: 在上述脚本中,定义了四个阶段:Checkout、Build、Push package和Deploy/Rollback。每个阶段都可以根据实际需求进行配置和调整。 通过Jenkins Pipeline自动化构建发布Java项目,可以显著提升开发效率和项目质量。借助Pipeline,我们能够轻松实现自动化构建、测试和部署,从而提高项目的整体质量和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值