笨办法学Python - 习题3: Nu

Exercise2是注释和井号 Comments and Pound Characters 具体详情请参考习题一，这里就不在做过多的赘述。

习题 3: 数字和数学计算

算术运算符

+

x+y = 30

-

x-y = -10或y-x = 10

*

x*y = 200

/

x/y = 0,y/x = 2

%

x%y = 10,y%x = 0

**

x**y = 1(20个0)

//

91 // 2 = 4, -9 // 2 = -5

Python算术运算符的实例操作：

```#! -*- coding=utf-8 -*-
x = 10
y = 20

print "x + y =", x + y

print "x - y =", x - y,",", "y - x =", y - x

print "x * y =", x * y

print "x / y =", x / y,",", "y / x =", y / x

print "x ** y =", x ** y

print "x // y =", x // y,",", "y // x =", y // x

print "9 // 2 =", 9 // 2,",", "-9 // 2=", -9 // 2```

```C:\Python27\python.exe "D:/pythoncode/stupid_way_study/demo3 Numbers and Math/Exer3-1.py"
x + y = 30
x - y = -10 , y - x = 10
x * y = 200
x / y = 0 , y / x = 2
x ** y = 100000000000000000000
x // y = 0 , y // x = 2
9 // 2 = 4 , -9 // 2= -5```

```print "I will now count my checkens:"

print "Hen", 25 + 30 / 6
print "Roosters", 100 - 25 * 3 % 4

print "Now i will count the eggs:"

print 3 + 2 + 1 - 5 + 4 % 2 - 1 / 4 + 6

print "Is it true that (3 + 2 < 5 -7)?"

print 3 + 2 < 5 -7

print "What is 3 + 2?=", 3 + 2

print "What is 5 - 7?", 5-7

print "Oh, that's why it's False "

print "Is it greater? ", 5 > -2
print "Is it greater or equal? ", 5 >= -2
print "Is it less or equal? ", 5 <= 2```

```C:\Python27\python.exe "D:/pythoncode/stupid_way_study/demo3 Numbers and Math/Exercise3.py"
I will now count my checkens:
Hen 30
Roosters 97
Now i will count the eggs:
7
Is it true that (3 + 2 < 5 -7)?
False
What is 3 + 2?= 5
What is 5 - 7? -2
Oh, that's why it's False
Is it greater?  True
Is it greater or equal?  True
Is it less or equal?  False```

加分习题：

1. 使用 # 在代码每一行的前一行为自己写一个注解，说明一下这一行的作用。
2. 自己找个想要计算的东西，写一个 .py 文件把它计算出来。
3. 有没有发现计算结果是”错”的呢？计算结果只有整数，没有小数部分。研究一下这 是为什么，搜索一下“浮点数(floating point number)”是什么东西。
4. 使用浮点数重写一遍 ex3.py ，让它的计算结果更准确(提示: 20.0 是一个浮点数)。

我的答案：

1、使用 # 在代码每一行的前一行为自己写一个注解，说明一下这一行的作用

```# 打印输出：I will now count my checkens-我将要数我有多少只鸡
print "I will now count my checkens:"

# 打印输出：计算母鸡的数量，为30只
print "Hen", 25 + 30 / 6
# 打印输出：计算公鸡的数量，为97只
print "Roosters", 100 - 25 * 3 % 4

# 打印输出：Now i will count the eggs-现在我将要去数鸡蛋
print "Now i will count the eggs:"

# 打印输出：鸡蛋的数量为7个
print 3 + 2 + 1 - 5 + 4 % 2 - 1 / 4 + 6

# 打印输出：Is it true that (3 + 2 < 5 -7)? - (3 + 2 < 5 -7)是否正确呢？
print "Is it true that (3 + 2 < 5 -7)?"

# 打印输出：False - 3 + 2的运算结果比 5 -7 的运算结果小是不正确的
print 3 + 2 < 5 -7

# 打印输出：What is 3 + 2?=5 - 3+2的计算结果是5
print "What is 3 + 2?=", 3 + 2

# 打印输出：What is 5 - 7?-2 - 5-7的运算结果是-2
print "What is 5 - 7?", 5-7

# 打印输出：Oh, that's why it's False  - 为什么那是错误的呢
print "Oh, that's why it's False "

# 打印输出：How about some more.  - 那大概是有多少呢？

# 打印输出：Is it greater?True/False   - 进行两个数的大小比较
print "Is it greater? ", 5 > -2
print "Is it greater or equal? ", 5 >= -2
print "Is it less or equal? ", 5 <= 2```

2、计算下载时间

```(4 * 1024)：4M 的准确带宽 = 4096 Kb/s。
/ 8：换算带宽 Kb/s 到 KB/s
1G = 1024000 KB ```

3、有没有发现计算结果是”错”的呢？计算结果只有整数，没有小数部分。研究一下这是为什么，搜索一下“浮点数(floating point number)”是什么东西。？

4、使用浮点数重写一遍 ex3.py ，让它的计算结果更准确(提示: 20.0 是一个浮点数)

扩展：

Python比较运算符

==

(x == y) 返回 False

!=

(x != y)返回True

<>

(x <> y) 返回 True

>

(x > y) 返回 False

<

(x < y) 返回 True

>=

(x >= y) 返回 False

<=

(x <= y) 返回 True

Python比较运算符的实例代码演示：

```x = 11
y = 20

print "x == y",  "运算结果是", x == y

print "x != y",  "运算结果是", x != y

print "x <> y",  "运算结果是", x <> y

print "x > y",  "运算结果是", x > y

print "x < y",  "运算结果是", x < y

print "x >= y",  "运算结果是", x >= y

print "x <= y",  "运算结果是", x <= y```

```C:\Python27\python.exe "D:/pythoncode/stupid_way_study/demo3 Numbers and Math/Exer3-3.py"
x == y 运算结果是 False
x != y 运算结果是 True
x <> y 运算结果是 True
x > y 运算结果是 False
x < y 运算结果是 True
x >= y 运算结果是 False
x <= y 运算结果是 True```

Python赋值运算符

=

z = x + y 将x + y的运算结果赋值为z

+=

z += x 等效于 z = z + x

-=

z -= x 等效于 z = z - x

*=

z = x 等效于 z = z x

/=

z /= x 等效于 z = z / x

%=

z %= x 等效于 z = z % x

**=

z ** = x 等效于 z = z ** x

//=

z //= x 等效于 z = z // x

Python赋值运算符的实例代码演示：

```x = 11
y = 20
z = 0

print "z = x + y",  "运算结果为z1=", x+y

z += x
print "z += x ",  "运算结果为z2=",z

z -= y
print "z -= x ",  "运算结果为z3=",z

z *= x
print "z *= x ",  "运算结果为z4=",z

z /= x
print "z /= x ",  "运算结果为z5=",z

z %= x
print "z %= x ",  "运算结果为z6=",z

z **= x
print "z **= x ",  "运算结果为z7=",z

z //= x
print "z //= x ",  "运算结果为z8=",z```

```C:\Python27\python.exe "D:/pythoncode/stupid_way_study/demo3 Numbers and Math/Exer3-2"
z = x + y 运算结果为z1= 31
z += x  运算结果为z2= 21
z -= x  运算结果为z3= 11
z *= x  运算结果为z4= 231
z /= x  运算结果为z5= 11
z %= x  运算结果为z6= 11
z **= x  运算结果为z7= 7400249944258160101211
z //= x  运算结果为z8= 352392854488483814343```

Python位运算符

```x = 0011 1100

y = 0000 1101

-----------------

x & y = 0000 1100

x | y = 0011 1101

x ^ y = 0011 0001

~x  = 1100 0011```

&

(x & y) 输出结果 12 ，二进制解释： 0000 1100

|

(x | y )输出结果 61 ，二进制解释： 0011 1101

^

(x ^ y) 输出结果 49 ，二进制解释： 0011 0001

~

(~x ) 输出结果 -61 ，二进制解释： 1100 0011，在一个有符号二进制数的补码形式。

<<

x << 2 输出结果 240 ，二进制解释： 1111 0000

>>

x >> 2 输出结果 15 ，二进制解释： 0000 1111

Python位运算符的实例代码演示：

```x = 60
y = 13

print "x & y",  "运算结果是", x & y

print "x | y",  "运算结果是", x | y

print "x ^ y",  "运算结果是", x ^ y

print " ~x ",  "运算结果是", ~x

print "x << 2",  "运算结果是", x << 2

print "x >> 2",  "运算结果是", x >> 2```

```C:\Python27\python.exe "D:/pythoncode/stupid_way_study/demo3 Numbers and Math/Exer3-4.py"
x & y 运算结果是 12
x | y 运算结果是 61
x ^ y 运算结果是 49
~x  运算结果是 -61
x << 2 运算结果是 240
x >> 2 运算结果是 15```

Python逻辑运算符

and

x and y

(x and y) 返回 20

or

x or y

(x or y) 返回 10

not

not x

not(x and y) 返回 False

Python逻辑运算符的实例代码演示：

```x = 10
y = 20

print "x and y",  "运算结果是", x and y

print "x or y",  "运算结果是", x or y

print "not(x and y)",  "运算结果是", not(x and y)```

```C:\Python27\python.exe "D:/pythoncode/stupid_way_study/demo3 Numbers and Math/Exer3-5.py"
x and y 运算结果是 20
x or y 运算结果是 10
not(x and y) 运算结果是 False```

Python成员运算符

in

x 在 y 序列中 , 如果 x 在 y 序列中返回 True

not in

x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True

Python运算优先级

**

~ + -

* / % //

+ -

>> <<

&

^ |

<= < > >=

<> == !=

= %= /= //= -= += *= **=

in not in

not and or

http://www.runoob.com/python/python-operators.html

https://blog.csdn.net/aaazz47/article/details/79431678

0 条评论

• Python 基础知识学习

Python中默认的编码格式是 ASCII 格式在没修改编码格式时无法正确打印汉字所以在读取中文           时会报错解决方法为只要在文件开...

• Python编程思想（3）：数字及其相关运算

Python 提供了三种数值类型：int（整型），float（浮点型）和complex（复数）。

• python一些常用小技巧

这个方法可以将布尔型的值去掉，例如（False，None，0，“”），它使用 filter() 函数。

• 一日一技：print函数也能写文件

虽然也可以把写文件的操作封装到一个函数里面，不过实际上Python 3的 print函数就能够直接写文件：

• Python基础语法 原

在Python中，所有标识符可以包括英文、数字以及下划线(_)，但不能以数字开头。

• 10个Python基础快速进阶技巧

这里使用Python切片。从某种意义上讲，切片简化了以下代码的编写（不考虑Python中-1的情况）。

• 先从Python的这19个易错语法开始学习！

Python简单易学，但又博大精深。许多人号称精通Python，却不会写Pythonic的代码，对很多常用包的使用也并不熟悉。学海无涯，我们先来了解一些Pyth...