python的常用操作符_课时6:Python之常用操作符

目录:

一、算术操作符

二、优先级问题

三、比较操作符

四、逻辑操作符

五、课时06课后习题及答案

******************

一、算术操作符

******************

>>> a = b = c = d = 10

>>> a += 1

>>> b -= 3

>>> c *= 10

>>> d /= 8

>>> (a,b,c,d)

(11, 7, 100, 1.25)

在这里我们发现,即使是进行整数间的除法,但是答案是自动返回一个浮点型的精确数值,也就是说Python用真正的除法代替了地板除法。                               地板除法的概念是:计算结果取比商小的最大整型,也就是舍弃小数的意思。(注:例如3 / 2等于1)

>>> 3 / 2

1.5

>>> 3 // 2

1

>>> 3.0 // 2

1.0

>>> 3.0 / 2

1.5

值得注意的一点是,无论是整数运算还是浮点数运算,都不会执行地板除法。需要用//。

>>> 5%2

1

>>> 4%2

0

>>> 520 % 14

2

>>>

百分号(%)表示求余数的意思。

******************

二、优先级问题

******************

先乘除后加减,如有括号先算括号里的。

>>> -3 * 2 + 5 / -2 -4

-12.5

>>> (-3) * 2 + 5 / (-2) -4

-12.5

Python中还有一个特殊的乘法,就是双星号(**),也称为幂运算操作符。例如3**2,双星号左侧的3称为底数,右侧的2称为指数,把这样的算式叫作3的2次幂,结果就是3*3==9.

在使用Python进行幂运算的时候,需要注意一点是优先级问题,因为幂运算操作符和一元操作符(只有一个操作数)的优先级关系比较特别:幂运算操作符比其左侧的一元操作符优先级高,比其右侧的一元操作符优先级低:

>>> -3 ** 2

-9

>>> - (3 ** 2)

-9

>>> 3 ** -2

0.1111111111111111

>>> 3 ** (-2)

0.1111111111111111

******************

三、比较操作符

******************

比较操作符包括:<    <=    >    >=    ==    !=

比较操作符根据表达式的值的真假返回布尔类型的值。

******************

四、逻辑操作符

******************

逻辑运算符包括: and    or    not

and :同真为真

or:同假为假

not :它的作用是得到一个和操作数相反的布尔类型的值

>>> not True

False

>>> not 0

True

>>> not 4

False

>>> 3 < 4 <5

True

>>> 3 < 4 and 4 < 5

True

在Python中,0解释为False,非0的数解释为True。

Python操作符优先级:

*******************************

五、课时06课后习题及答案

*******************************

测试题:

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

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

2. 不使用 IDLE,你可以轻松说出 5 ** -2 的值吗?

3. 如何简单判断一个数是奇数还是偶数?

4. 请用最快速度说出答案:not 1 or 0 and 1 or 3 and 4 or 5 and 6 or

7 and 8 and 9

5. 还记得我们上节课那个求闰年的作业吗?如果还没有学到“求余”操作,还记得用什么方法可以“委曲求全”代替“%”的功能呢?

动动手:

0.请写一个程序打印出 0~100 所有的奇数。

1.我们说过现在的 Python 可以计算很大很大的数据,但是......真正的大数据计算可是要靠刚刚的硬件滴,不妨写一个小代码,让你的计算机为之崩溃?

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

题目:请编程求解该阶梯至少有多少阶?

答案:

测试题答案:

0. 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

温馨提示:为了更好的表达你的程序,小甲鱼再次呼吁有些括号还是不能省下的,毕竟不是所有程序员都跟你一样都将优先级烂透于心的。

5.还记得我们上节课那个求闰年的作业吗?如果还没有学到“求余”操作,还记得用什么方法可以“委曲求全”代替“%”的功能呢?

因为上节课我们还没有教大家“求余”的操作,所以小甲鱼使用了“if year/400 == int(year/400)”这样的方式来“委曲求全”。

动动手答案:

0.请写一个程序打印出0~100所有的奇数。

i = 0

while i <= 100:

if i % 2 != 0:

print(i, end=' ')

i += 1

else:

i += 1

或者:

i = 0

while i <= 100:

if i % 2 != 0:

print(i,end=" ")

i+=1

1. 我们说过现在的 Python 可以计算很大很大的数据,但是......真正的大数据计算可是要靠刚刚的硬件滴,不妨写一个小代码,让你的计算机为之崩溃?

print(2 ** 2 ** 32)

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

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

2. 题目:请编程求解该阶梯至少有多少阶?

x = 7

i = 1

flag = 0

while i <= 100:

if (x%2 == 1) and (x%3 == 2) and (x%5 == 4) and (x%6==5):

flag = 1

else:

x = 7 * (i+1) # 根据题意,x一定是7的整数倍,所以每次乘以7

i += 1

if flag == 1:

print('阶梯数是:', x)

else:

print('在程序限定的范围内找不到答案!')

零基础入门学习Python(6)--Python之常用操作符

前言 Python当中常用操作符,有分为以下几类.幂运算(**),正负号(+,-),算术操作符(+,-,*,/,//,%),比较操作符(,>=,==,!=),逻辑运 ...

python 03 常用操作符

1. e记法,科学计数法. AeB   A,B为整数,A*10的B次方. 2. 逻辑运算,真为1,假为0,最好不使用这个计算 true(1)    false(0) true+true=2 3.类型转 ...

Pyhon之常用操作符 - 零基础入门学习Python006

Pyhon之常用操作符 让编程改变世界 Change the world by program 今天我们来谈谈Python之常用操作符,在此之前的一些例子中,大家已经看到Python可以完成简单的算术 ...

Python常用操作符

Python常用操作符 1.成员关系操作符in 显示的数字前面填充'0'代替空格 6.转义字符 符号 含义 \' 单引号\" 双引号\a 发出系统响铃声\b 退格符\n 换行符\t 横向制表 ...

Kotlin——高级篇(五):集合之常用操作符汇总

在上一篇文章Kotlin--高级篇(四):集合(Array.List.Set.Map)基础中讲解到了数组Array.集合(List.Set.Map)的定义与初始化.但是由于篇幅的原因 ...

Python:格式化操作符(&percnt;)

原文作者:田小计划 原文出处:http://www.cnblogs.com/wilber2013/ (若转载,请标明原文出处) 在编写程序的过程中,经常需要进行格式化输出,每次用每次查.干脆就在这里整 ...

Python学习常用的好网站

以下总结出自己在学习python期间常用的网址或者资源,其中包括很多人的博客,方便自己从这个入口查找资源. 1.https://www.liaoxuefeng.com/wiki/00143160895 ...

python字符串常用内置方法

python字符串常用内置方法 定义: 字符串是一个有序的字符的集合,用与存储和表示基本的文本信息. python中引号中间包含的就是字符串. # s1='hello world' # s2=&quo ...

随机推荐

如何理解泛型中的new&lpar;&rpar;约束

一:为什么需要New约束 假设有这样一个需求,它需要在定义一个泛型类时同时实例化T对象.有网友说了:"这还不简单,我立刻给你写一个",刷刷刷,得到以下的例子. public cla ...

遇到IIS7配置PHP出现403和404错误的解决办法

服务器要配置PHP,总是出现403错误.服务器是新装的,操作系统是windows server 2008 R2,装的IIS7. IIS里PHP和本地服务器对比了好几遍,都没到出错的原因,后来通过cmd ...

SQL调用存储过程

--1调用存储过程exec 存储过程名 参数--2当表使用select a.*,b.* from tb b inner join (select * from openrowset('sqloledb ...

as的Enter&lowbar;Frame与Timer

As3中的Timer和Event.EnterFrame是有明显的区别的. Evnet.EnterFrame是定时间隔多少时间出发.如果执行时间比间隔时间长,则会间隔执行时间这么久. 举个例子: Fla ...

project euler 19&colon; Counting Sundays

import datetime count = 0 for y in range(1901,2001): for m in range(1,13): if datetime.datetime(y,m, ...

APACHE服务器出现No input file specified&period;解决方案

thinkcmf程序默认的.htaccess里面的规则: RewriteEngine on RewriteCond %{REQUEST_F ...

TCP&sol;IP资料整理

一.概念 1. TCP/IP常见帧格式 2. 详解网络嗅探工具的原理 二.API 1. Linux kernel tcp 连接建立详解——由listen系统调用的backlog参数引发的长篇大论

JAVA 列表输入学生的信息

package Code429; import java.util.ArrayList; public class CodeArrayListStudent { public static void ...

【redis专题&lpar;7&rpar;】命令语法介绍之Pub&sol;Sub

Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息.主要的目的是解耦消息发布者和消息订阅者之间的耦合,这点和设计模式中的观察者模式比较相似.p ...

Windows Server 2016-Powershell管理站点复制

对于Active Directory的Windows PowerShell包括管理复制.网站.域和森林,域控制器以及分区的能力.例如Active Directory的站点和服务管理单元和repadmi ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值