算术操作符:

+    -    *    /       %    **    //
 如

>>> a = 5
>>> a = a + 3
>>> a

8
等同于

>>> a = 5
>>> a += 3
>>> a
8

>>>   
又如

>>> a = b = c = d = 10
>>> a += 1
>>> b -= 3
>>> c  *= 10
>>> d  /= 8    #这里的除于/号在python3里面已经可以精确得出浮点数的结果。如果需要整数,则需要用//号
>>> a
11
>>> b
7
>>> c
100
>>> d
1.25

>>> 
 //使用:

>>> 10 // 8
1
>>> 3.0 // 2
1.0

>>>

%是指求余数的意思

>>> 5 % 2
1
>>> 11 % 2
1
>>> 16 % 6
4

>>> 
  
**指幂运算操作符
>>> 3 ** 2

9
>>> 3 ** 5
243
>>>

优先级问题:
当多个运算符同时出现在一个表达式的时候,严格按照优先级进行运算。
先乘除后加减,遇到括号优先算。

>>> -3 * 2 + 5 / -2 - 4
-12.5
>>> ((-3) * 2) + (5 / (-2)) - 4
-12.5
>>> 
注意:括号是必要的但不是必须。在必要的表达式加上括号,便于程序维护。 

幂操作符比其左侧的一元操作符优先级高,比右侧的一元操作符优先级低

 >>> -3 ** 2

-9
>>> -(3 ** 2)
-9
>>> 3 ** -2
0.1111111111111111
>>> (3 ** (-2))
0.1111111111111111
>>>

比较操作符
 <    <=    >    >=    ==    !=
逻辑操作符
and       or        not
and 指当它的左侧和右侧同时为真(True)的时候,结果才为真(True)
or指左边或者右边的任意一边为真(True)的时候,结果就为真(True),当两边同时为假(False)的时候,结果才为假(False)
not是一元操作符,只有一个操作数,把它的操作数取一个相反的布尔类型值。

>>> not True
False
>>> not False
True
>>> not 0#这里的0表示为False
True
>>> not 4#所有非零的数字表示为True
False
>>>

优先级问题:
 幂运算**    正负号 +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,否则为奇数。
表达式如下

a = input('输入一个数,判断是奇数还是偶数')
num = int(a)
if num/2 == int (num/2):
    print(a + '是偶数')
else:
    print(a + '是奇数') 
或者

a = input('输入一个数,判断是奇数还是偶数')
b = int(a)
if b%2 == 0:
    print(a + '是偶数')
else:
    print(a + '是奇数')

 加入一个非数字判断:

 
a =input('请输入一个数字')
while not a.isdigit():
    a = input ('这不是数字,请重新输入')#这里判断是否为数字,如果返回False,则回到while继续循环,如果返回True,则执行下一句
b = int(a)
if b%2 ==0:
    print(a + '是偶数')
else:
    print(a + '是奇数') 

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 所有的奇数。 
教程参考答案:

 慢慢消化。
i = 0
while i <= 100:
    if i % 2 != 0:#如果要打印全部偶数,则改为i%2 != 0,如果要打印全部能被3整除的数字,则改为i%3 == 0,以此类推。
        print(i, end=' ')
        i += 1
    else:#如果这里没有else,则程序执行完上一句后等待,因为打印完第一个数后没指令,也没结束if的循环。
        i += 1
我自己琢磨出的答案 (貌似还不够智能。)
a = 50
i =1
while a:
    print(i)
    i = i + 2
    a = a - 1
 思路:100以内的奇数一共有50个,每个奇数之间相差2。上节课作业有做到这个效果如下:

>>> 
请输入一个整数:5
1
2
3
4
5
>>> 
 源代码如下

temp = input ('请输入一个整数:')
num = int (temp)
i = 1
while num:
    print(i)
    i = i + 1
    num = num - 1
 根据这个源代码修改而成。 

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

不会
print(2 ** 2 ** 32)
# 一般很多机子都会在一会儿之后:Memory Overflow,内存不够用。
# 设计到幂操作,结果都是惊人滴。
2. 爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。
 题目:请编程求解该阶梯至少有多少阶?  
不会啊!(存底,慢慢消化。)

 
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)
    i += 1
 
if flag == 1:
    print('阶梯数是:', x)
else:
    print('在程序限定的范围内找不到答案!')
 

在论坛看到有人这样写,更简洁

 
i = 1
while (i%2!=1 or i%3!=2 or i%5!=4 or i%6!=5 or i%7!=0):
    i += 1
print(i)

006 Python的操作符的更多相关文章

  1. Python常用操作符

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

  2. Python比较操作符、变量赋值、对象拷贝

    Python比较操作符.变量赋值.对象拷贝 目录 Python比较操作符.变量赋值.对象拷贝 1. 比较操作符 == 和 is 1.1 区别 1.2 实例 2. 变量及其赋值 2.1 概念和逻辑关系 ...

  3. python operator操作符函数

    本模块主要包括一些Python内部操作符对应的函数.这些函数主要分为几类:对象比较.逻辑比较.算术运算和序列操作.

  4. 006 python操作符

    一:数值操作符 1.操作符 2.不同点 上面有了一个说法,这个 / 与其他的编程不同. 这个是精确的除法. 3.连续赋值 这种用法,第一次遇见,就记录下来. 4.注意点 重要的是要注意优先级的问题 二 ...

  5. 刷题翻车:python 布尔运算操作符的优先级

    前两天在 xue.cn 体验答题挑战,我有道题做错了,却不明白错在哪里.题目大概如下,代码运行后将打印什么? if True or False and False: print('1') else: ...

  6. Python 序列操作符与函数(字符串)

    Python序列包括:元组.列表.字符串. 1.1 序列共同支持的函数: 函数 功能 说明 cmp(seq1,seq2) 比较序列大小 从左到右依次比较,直到比较出大小 len(seq1) 获取序列长 ...

  7. python表达式操作符【学习python必知必会】

    运算符 描述 实例 yield x 生成器函数发送协议   lambda args: expression 生成匿名函数   x if y else z 三元选择表达式(c系列有的 python也要有 ...

  8. python列表操作符

    list1=[123,456] list2=[234,234] list1>list2 >>>False#返回False 第一项比较之后直接返回false,第二项不看 #+实现 ...

  9. 006 python的面向对象基础

    1.类 描述具有相同属性与方法的对象的集合. 2.创建类 使用class来创建一个新类,class之后为类的名称并以冒号结尾 3.程序 #!/usr/bin/python # -*- coding: ...

随机推荐

  1. webstrom热键[持续更新]

    1.Ctrl+ Shift + A  --  为了加快寻找菜单命令或工具栏操作,你并不需要看菜单.只有按Ctrl+ Shift + A(说明|查找操作主菜单上),并开始输入动作的名称. . 2.Ctr ...

  2. JVM专题

    http://blog.csdn.net/ITer_ZC/article/category/2758863

  3. 基于x86架构的内核Demo的详细开发文档

    http://hurlex.0xffffff.org/ 这里是hurlex这个基于x86架构的内核Demo的详细开发文档, 包含PDF文档和生成PDF的XeLaTex源码和文档每章节的阶段代码. 你可 ...

  4. C++ ORM ODB 入门介绍(二)

    目录[-] 1. ODB中的继承类型 2. abstract和polymorphic的区别 3.polymorphic表格 4.早期版本如何实现polymorphic 5.实例 本节主要介绍ODB中的 ...

  5. C中sizeof()的用法——32位和64位下的sizeof()

    机器平台:X86_64 处理器 操作系统:Red Hat 4.1.2-14 编译器: gcc version 4.1.2 20070626 Size of char is:               ...

  6. 玩转Android之MVVM开发模式实战,炫酷的DataBinding!

    C# 很早就有了MVVM的开发模式,Android手机中的MVVM一直到去年Google的I\O大会上才推出,姗姗来迟.MVVM这中开发模式的优点自不必多说,可以实现视图和逻辑代码的解耦,而且,按照G ...

  7. Python中如何写控制台进度条的整理

    本文实例讲述了Python显示进度条的方法,是Python程序设计中非常实用的技巧.分享给大家供大家参考.具体方法如下: 首先,进度条和一般的print区别在哪里呢? 答案就是print会输出一个\n ...

  8. ThinkPHP函数详解:cache方法

    cache方法是3.0版本开始新增的缓存管理方法.注意:3.1.2版本后因cache方法并入原S方法,所以cache方法不再建议使用,用S方法即可. cache 用于缓存设置.获取.删除操作 用法ca ...

  9. MediaPlayer SeekTo 不准确的解决方案

    接上篇文章,最近做视频背景的游戏. 需要使用安卓的meidaplayer来播放视频,并跳转. 跳转时发现,有些视频可以跳到位置上,有些不行. GG了好久,可以使用FFMPEG这个工具重新转一次.并加上 ...

  10. swift 自行理解