006 Python的操作符
+ - * / % ** //
如
8
等同于
>>>
又如
>>>
//使用:
>>>
%是指求余数的意思
>>>
**指幂运算操作符
>>> 3 ** 2
优先级问题:
当多个运算符同时出现在一个表达式的时候,严格按照优先级进行运算。
先乘除后加减,遇到括号优先算。
如
注意:括号是必要的但不是必须。在必要的表达式加上括号,便于程序维护。
幂操作符比其左侧的一元操作符优先级高,比右侧的一元操作符优先级低
如
>>> -3 ** 2
比较操作符
< <= > >= == !=
逻辑操作符
and or not
and 指当它的左侧和右侧同时为真(True)的时候,结果才为真(True)
or指左边或者右边的任意一边为真(True)的时候,结果就为真(True),当两边同时为假(False)的时候,结果才为假(False)
not是一元操作符,只有一个操作数,把它的操作数取一个相反的布尔类型值。
如
优先级问题:
幂运算** 正负号 +X -X 算术运算符* / // + - 比较操作符 < > <= >= == != 逻辑运算符not and or
测试题:
0. Python 的 floor 除法现在使用 “//” 实现,那 3.0 // 2.0 您目测会显示什么内容呢?
答:1.0
1. a < b < c 事实上是等于?
答:(a < b) and (b < c)
2. 不使用 IDLE,你可以轻松说出 5 ** -2 的值吗?
答:5 ** -2等于5的-2次方,即0.04(第一次居然算成-25,中学数学白学了。)
3. 如何简单判断一个数是奇数还是偶数?
答,看看能否被2整除。
使用求余可以简单得到答案:能被 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
答:4,直接在python运算结果。自己算晕了。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 所有的奇数。
教程参考答案:
1. 我们说过现在的 Python 可以计算很大很大的数据,但是......真正的大数据计算可是要靠刚刚的硬件滴,不妨写一个小代码,让你的计算机为之崩溃?
不会
print(2 ** 2 ** 32)
# 一般很多机子都会在一会儿之后:Memory Overflow,内存不够用。
# 设计到幂操作,结果都是惊人滴。
2. 爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。
题目:请编程求解该阶梯至少有多少阶?
不会啊!(存底,慢慢消化。)
在论坛看到有人这样写,更简洁
006 Python的操作符的更多相关文章
- Python常用操作符
Python常用操作符 1.成员关系操作符in 显示的数字前面填充'0'代替空格 6.转义字符 符号 含义 \' 单引号\" 双引号\a 发出系统响铃声\b 退格符\n 换行符\t 横向制表 ...
- Python比较操作符、变量赋值、对象拷贝
Python比较操作符.变量赋值.对象拷贝 目录 Python比较操作符.变量赋值.对象拷贝 1. 比较操作符 == 和 is 1.1 区别 1.2 实例 2. 变量及其赋值 2.1 概念和逻辑关系 ...
- python operator操作符函数
本模块主要包括一些Python内部操作符对应的函数.这些函数主要分为几类:对象比较.逻辑比较.算术运算和序列操作.
- 006 python操作符
一:数值操作符 1.操作符 2.不同点 上面有了一个说法,这个 / 与其他的编程不同. 这个是精确的除法. 3.连续赋值 这种用法,第一次遇见,就记录下来. 4.注意点 重要的是要注意优先级的问题 二 ...
- 刷题翻车:python 布尔运算操作符的优先级
前两天在 xue.cn 体验答题挑战,我有道题做错了,却不明白错在哪里.题目大概如下,代码运行后将打印什么? if True or False and False: print('1') else: ...
- Python 序列操作符与函数(字符串)
Python序列包括:元组.列表.字符串. 1.1 序列共同支持的函数: 函数 功能 说明 cmp(seq1,seq2) 比较序列大小 从左到右依次比较,直到比较出大小 len(seq1) 获取序列长 ...
- python表达式操作符【学习python必知必会】
运算符 描述 实例 yield x 生成器函数发送协议 lambda args: expression 生成匿名函数 x if y else z 三元选择表达式(c系列有的 python也要有 ...
- python列表操作符
list1=[123,456] list2=[234,234] list1>list2 >>>False#返回False 第一项比较之后直接返回false,第二项不看 #+实现 ...
- 006 python的面向对象基础
1.类 描述具有相同属性与方法的对象的集合. 2.创建类 使用class来创建一个新类,class之后为类的名称并以冒号结尾 3.程序 #!/usr/bin/python # -*- coding: ...
随机推荐
- JAVA中使用Redis
上节讲解了如何在centos上安装redis,点击查看.本节我们学习在java中使用redis.需要将jedis-*.jar添加到classpath(点击下载),如果使用连接池还需要commons-p ...
- ListBox获取行字符串
ListBox获取行字符串 关键点 获取ListBox第1行的字符串 获取ListBox第2行的字符串 获取ListBox第n行的字符串 CListBox::GetText int GetText( ...
- iphone4s 关于大于400M的视频无法拷贝的问题
方法有二: 1.可以用win7等高版本的系统拷出 2.可以用Itools工具导出
- apache+php+mysql最新版windows下
卸载以前的Apache 1.控制面板先卸载 2.删除E:\Program Files (x86)\Apache Software Foundation下的apache目录 一.安装apache 1.c ...
- jqery基础知识
选择器按属性,子元素,表单匹配元素 <!doctype html> <html lang="en"> <head> <meta chars ...
- Double跟double
Double 是类 double是基础数据类型.Double类型是double的包装类,在JDK1.5以后,二者可以直接相互赋值,称为自动拆箱和自动装箱.看你的提示,我推测你的jdk版本在1.5以前. ...
- SQL Server游标+延迟执行简介
在项目测试中,我们可能会使用批量生成数据来测试程序的性能. 这里讲一个我遇到的问题,由于我们批量生成数据时基本上是瞬间完成,所以GETDATE()函数获得的时间基本上也是一样的,而我们又要求生成每条数 ...
- 20160406javaweb JDBC 实例工具类
一.建立静态的数据库配置文件: config.properties driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/datab ...
- python 脚本查看微信把你删除的好友--win系统版
PS:目测由于微信改动,该脚本目前不起作用 下面截图来自原作者0x5e 相信大家在微信上一定被上面的这段话刷过屏,群发消息应该算是微信上流传最广的找到删除好友的方法了.但群发消息不仅仅会把通讯录里面所 ...
- SQL SERVER格式化字符串位数,不足补零
本文举例在SQLSERVER中将1格式化为001的方法: 1.方法一SQL语句执行如下: ,) as col 2.方法二SQL语句执行如下: ,) ,) as col 下面是C#代码实现方法: ; & ...