我的编程空间,编程开发者的网络收藏夹
学习永远不晚

笨办法学Python - 习题3: Nu

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

笨办法学Python - 习题3: Nu

目录

  • 习题 3: 数字和数学计算
    • 算术运算符
  • 加分习题:
  • 我的答案:
  • 总结:
  • 扩展:
    • Python比较运算符
    • Python赋值运算符
    • Python位运算符
    • Python逻辑运算符
    • Python成员运算符
    • Python运算优先级

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

习题 3: 数字和数学计算

学习目标:了解Python中常用的算术运算符,并了解运算符之间的先后运算顺序

在各大常用的计算机语言中都有常见的算术运算符,Python也是大同小异,下面我们来了解一下Python中常见的算术运算符:

算术运算符

以下假设变量x = 10 ,y = 20

运算符 描述 实例
+ 加 - 两个对象相加 x+y = 30
- 减 - 是一个数减去另一个数 x-y = -10或y-x = 10
* 乘 - 两个数相乘或是返回一个被重复若干次的字符串 x*y = 200
/ 除 - x除以y x/y = 0,y/x = 2
% 取余 - 返回除法的余数 x%y = 10,y%x = 0
** 幂 - 返回x的y次幂 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 "How about some more."

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 
How about some more.
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.  - 那大概是有多少呢?
print "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、计算下载时间

题目:文件大小是1G,下载带宽是10M下水管,计算下载用几分钟?

1547373015990

解释说明:

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

最后的运算结果是33.33333尾数3无限循环的,但是最后变成了6?(黑人问号),具体原因我们见第3题。

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

1547378234537

正常情况下,5除以2结果应该是2.5才对,怎么上面在Python 2.7版本中是2呢?

注意:Python2.x 里,整数除整数,只能得出整数。如果要得到小数部分把其中一个数改成浮点数

则上面的运算为:

1547378520557

在Python的整数除法中,即使除不尽,结果仍然是整数,余数直接被扔掉

注:在Python 3.5中默认是可以显示浮点数的

1547378691794

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

将上面需要计算的两个数中的一个定义为浮点数类型就可以,float(x),这样计算的结果就是浮点数

总结:

习题2主要是是认识和掌握常见的Python中的算术运算符,知道整数和浮点数之间的区别,了解Python 2.7和Python 3.5中默认精度。了解整除和取余之间的区别。

扩展:

Python比较运算符

以下假设变量x = 11 ,y = 20

所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价

运算符 描述 实例
== 等于 - 比较对象是否相等 (x == y) 返回 False
!= 不等于 - 比较两个对象是否不相等 (x != y)返回True
<> 不等于 - 比较两个对象是否不相等 (x <> y) 返回 True
> 大于 - 返回x是否大于y (x > y) 返回 False
< 小于 - 返回x是否小于y。 (x < y) 返回 True
>= 大于等于 - 返回x是否大于等于y (x >= y) 返回 False
<= 小于等于 - 返回x是否小于等于y (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赋值运算符

以下假设变量x = 11 ,y = 20

运算符 描述 实例
= 简单的赋值运算符 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 = 60 ,y = 13 ,二进制格式如下:

x = 0011 1100

y = 0000 1101

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

x & y = 0000 1100

x | y = 0011 1101

x ^ y = 0011 0001

~x  = 1100 0011
运算符 描述 实例
& 按位与运算符:参与运算的两个值,如果两个对应位都为1,则该位的结果为1,否则为0 (x & y) 输出结果 12 ,二进制解释: 0000 1100
| 按位或运算符:参与运算的两个值只要对应的两个个二进位有一个为1时,结果位就为1 (x | y )输出结果 61 ,二进制解释: 0011 1101
^ 按位异或运算符:当两对应的二进位相异时,结果为1 (x ^ y) 输出结果 49 ,二进制解释: 0011 0001
~ 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 。~x 类似于 -x-1 (~x ) 输出结果 -61 ,二进制解释: 1100 0011,在一个有符号二进制数的补码形式。
<< 左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0 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逻辑运算符

以下假设变量x = 10 ,y = 20

运算符 逻辑表达式 描述 实例
and x and y 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值 (x and y) 返回 20
or x or y 布尔"或" - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值 (x or y) 返回 10
not not x 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True 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 如果在指定的序列中找到值返回 True,否则返回 False x 在 y 序列中 , 如果 x 在 y 序列中返回 True
not in 如果在指定的序列中没有找到值返回 True,否则返回 False x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True

Python运算优先级

运算符 描述
** 指数 (最高优先级)
~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % // 乘,除,取模和取整除
+ - 加法减法
>> << 右移,左移运算符
& 位 'AND'
^ | 位运算符
<= < > >= 比较运算符
<> == != 等于运算符
= %= /= //= -= += *= **= 赋值运算符
in not in 成员运算符
not and or 逻辑运算符

具体实例运用还得在以后具体环境中具体分析。

参考链接:

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

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

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

笨办法学Python - 习题3: Nu

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

笨办法学Python - 习题3: Nu

目录 习题 3: 数字和数学计算 算术运算符 加分习题: 我的答案: 总结: 扩展: Python比较
2023-01-30

笨办法学Python - 习题11-12

目录 1、习题 11: 提问 2、习题 12: 提示别人 3、总结 1、习题 11: 提问学习目标:了解人机交互场景,熟悉raw_input 的用法。1
2023-01-30

笨办法学Python - 习题1: A

在windows上安装完Python环境后,开始按照《笨办法学Python》书上介绍的章节进行练习。习题 1: 第一个程序第一天主要是介绍了Python中输出函数print的使用方法,但是有一个注意点需要注意的是:Python2中可以不加括
2023-01-30

笨办法学Python - 习题6-7:

目录 1、习题 6: 字符串(string) 和文本 2、加分习题: 3、我的答案 4、习题总结 5、习题 7: 更多打印 6、习题
2023-01-30

笨办法学Python - 习题5: Mo

1、习题 5: 更多的变量和打印学习目标:了解用户输入方法,明白pthon2和Python3之间的用户输入的区别。了解格式化字符串(format string)的概念,学会如何创建包含变量内容的字符串。使用专门的格式和语法把变量的内容放到字
2023-01-30

笨办法学Python - 习题8-10:

目录 1、习题 8: 打印,打印 2、习题 9: 打印,打印,打印 3、习题 10: 那是什么? 3.1、转义序列: 4、习题总结
2023-01-30

python必看经典书籍:笨办法学pyt

书评:感谢作者和译者,很好的手把手的一个新手编程体验书,消除编程物质恐惧感,在线看的liam huang翻译的版,不确定看的是第几版,有一些加分题没有做,第五十题黑手党外星人飞船做起来有点压力,准备转去codeacademy / think
2023-01-30

【python】编程学习练习题--3

1 #利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456:代码:  2   3 from functools import reduce  4 str = '123.456'  5 
2023-01-31

学习python 之编写简单乘法运算题

实现代码:#! /usr/bin/python //处理程序 #filename jiafa.py //文件名 import sysimport randomrunning = True //定义
2022-06-04

【机器学习 Azure Machine Learning】Azure Machine Learning 访问SQL Server 无法写入问题 (使用微软Python AML Core SDK)

问题情形 使用Python SDK在连接到数据库后,连接数据库获取数据成功,但是在Pandas中用 to_sql 反写会数据库时候报错。错误信息为:ProgrammingError: (‘42000‘, "[42000] [Microsoft][SQL Ser
【机器学习 Azure Machine Learning】Azure Machine Learning 访问SQL Server 无法写入问题 (使用微软Python AML Core SDK)
2015-11-09

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录