python学习笔记(4)-基本数据类型-数字类型及操作
大学mooc 北京理工大学 python语言程序设计课程学习笔记
一、整数类型
可正可负,没有取值范围的限制(这个与c不同,c要考虑数据类型的存储空间)。如pow(x,y),计算x的y次方,pow(2,1000),结果无限制。
4种进制表示形式:十进制:99,-28,1010 二进制:以0b或者0B开头:0b100,-0B101 八进制:以0o或者0O开头,0o123,-0O456 十六进制:以0x或者0X开头,0x9a, -0Xf9
二、浮点类型
带有小数点和小数的数字,浮点数取值范围和小数经度都存在限制,但常规计算可忽略。浮点数间的运算存在不确定尾数,不属于bug,与计算机的机制有关系。如:
>>> 0.1+0.2
0.30000000000000004
计算机用二进制表示小数,可以无限接近,但不完全相同,0.1+0.2结果会无限接近0.3,但是有一个不确定的尾数
用作判断时,有如下结果
>>> 0.1+0.2 == 0.3
False
可以使用round函数,round(x,d):对x四舍五入,d是小数截取位数。
>>> round(0.1+0.2, ) == 0.3
True
浮点数间运算及比较时,需要用round函数辅助。
浮点数的科学计数法表示:使用e或E作为幂的符号,4.3e-3 值为0.0043 9.6E5 为960000.0
三、数值运算操作符
x+y,x-y,x*y,x/y,x//y,x%y,+x,-y,x**y
/ 与C不同,x/y产生的结果为浮点数,整数除使用 //,取余% ,x**y是x的y次幂,与pow(x,y),相同,其中y可以为小数。
>>> /
5.0
>>> /
3.3333333333333335
>>> // >>> % >>> ** >>> **0.5
1.4142135623730951
二元操作符有对应的增强赋值操作符,x+=y,x-=y等。
与C不同,python中,不同的数值类型是可以混合运算的,结果为“最宽”类型,三种类型存在一种逐渐“扩展”和“变宽”的关系:整数-》浮点数-》复数。
>>> +1.3
13.3
>>> +5.0
128.0
>>>
四、数值运算函数
abs(x):绝对值 divmod(x,y):商余,(x//y,x%y),同时输出商和余数。
pow(x,y[,z]):幂余,注意[]表示这个参数可以省略,(x**y)%z,比如想要运算3的pow(3,99)次方的最后四位,就可以表示为pow(3,pow(3,99),10000),结果为4587,为何有这个z参数呢,pow(3,pow(3,99))这个值非常大,在普通计算机中很难得到结果,已经超出了计算机的内存范围,有个取余的话,这个结果会很快得出。
>>> abs(-) >>> divmod(,)
(, )
>>> pow(3,pow(3,99),10000)
4587
round(x[,d]):四舍五入,d是保留小数位数,默认为0.
max(x1,x2,....,xn):最大值,返回这些数中的最大值,n是不受限制的。这个函数可比C好多了,如果是C要写好多代码,还有懂一些算法才行,在python中,一个函数搞定。
min(x1,x2,....,xn):最小值
>>> max(,1.3,,1.2) >>> min(1.0,1.4,2.0,)
1.0
int(x):将x变成整数,舍弃小数部分,不四舍五入。如果是字符串,也可以转换为整数。
>>> int(123.456)
>>> int("")
float(x):将x变为浮点数,增加小数部分。
>>> float()
12.0
>>> float("")
123.0
五、编程练习
365天工作日进步0.01,休息日每天退步0.01,一年累计下来能力值为多少?
#DayDayup.py
dayup = 0.1
dayfactor = 0.01
for i in range():
if i % in [,]:
dayup = dayup * ( - dayfactor)
else:
dayup = dayup * ( + dayfactor)
print("工作日的力量:{: .2f}".format(dayup))
365每天进步0.01,一年累计下来是原来的37.87倍,那么休息日休息两天,工作日需要努力多少,才能与每天进步的人一年累计的力量相同呢?
#DayDayup.py
def dayUp(df):
dayup =
for i in range():
if i % in [,]:
dayup = dayup * ( - 0.01)
else:
dayup = dayup * ( + df)
return dayup dayfactor = 0.01
while dayUp(dayfactor) < 37.78:
dayfactor += 0.01
print("工作日的努力参数为:{: .4f}".format(dayfactor))
六、结语
GRIT:perseverance and passion for long-term goals
1.01**365 = 37.78 1.019**365 = 962.89
GRIT:坚毅,对长期目标的持续激情与持久耐力,国际上很多学者都在研究GRIT,目前认为GRIT是获得成功的最重要的因素之一。
python学习笔记(4)-基本数据类型-数字类型及操作的更多相关文章
- Python学习笔记(三)字符串类型及其操作(2)
1.字符串的表示 字符串是字符的序列表示,可以由一对单引号(‘).双引号(“)或三引号(’‘’)构成.其中,单引号.双引号和三引号都可以表示单行字符串,但是只有三引号可以表示多行字符串 在使用双引号时 ...
- Python学习笔记4基本数据类型
start:16:00 1.Python基本数据类型 (1)数字类型及其操作 整数类型 浮点数类型 浮点数间运算存在不确定尾数,不是bug 复数类型 数值运算操作符 (2)数值运算函数 . 2. ...
- Python学习笔记(15)- os\os.path 操作文件
程序1 编写一个程序,统计当前目录下每个文件类型的文件数,程序实现如图: import os def countfile(path): dict1 = {} # 定义一个字典 all_files = ...
- python学习笔记02 --------------基础数据类型
python的基本数据类型: 1.基本数据 1.1. 数字类型 1.1.1 整数 int int() #将括号内内容转化为整数类型. 1.1.2 浮点数 float 1.1.3 复 ...
- Python学习笔记:02数据类型
Python 数据类型 python中标准的数据类型有 基础类型 整型(长整型) 浮点型 复数型 布尔型 序列类型 字符串 列表 元组 字典 整型 整型和长整型并不严格区分,整型int的表达范围和计算 ...
- Python学习笔记三:数据类型
数据类型 整数int 32位机器,-2**31~2**31-1,即-2147483648~2147483647(4亿多) 64位机器,-2**63~2**63-1,非常大了. 长整型long 没有位数 ...
- Python学习笔记:第3天 字符串的操作
目录 1. python的数据类型 2. int类型的操作 3. bool类型 4. 字符串的操作 5. for循环 1. python的数据类型 int 整数 str 字符串.一般不会用字符串保存大 ...
- Python学习笔记——几种数据类型
1. 列表list: Python内置的一种数据类型是列表:list,用中括号[]表示.list是一种有序的集合,可以随时添加和删除其中的元素,而且元素的类型不必相同.list可以通过下标来访问,范围 ...
- Python 学习笔记(三)数字
Python 数字 int 整型 是正或负整数 2 long 长整型 整数最后是一个大写或小写的L 2L float 浮点型 由整数部分和小数部分组成 2.0 complex 复数 小 ...
随机推荐
- [ZJOI2011]礼物
嘟嘟嘟 正是因为有这样的数据范围,解法才比较暴力. 我们假设取出的长方体常和宽相等,即\(a * a * b\).这样我们每次换两条边相等,搞三次就行. 那么对于第\(k\)层中的第\((i, j)\ ...
- L2-012 关于堆的判断 (25 分)
就是一个最小根堆. 最小根堆的性质,根节点小于等于子树的完全二叉树吧. 构建最小根堆的过程就是一个自下向上的过程. #include<iostream> #include<strin ...
- pm2命令,端口查询,mongodb服务启动,nginx服务启动,n模块的使用,搭建nodejs服务器环境,搭建oracledb服务器环境 linux的环境搭建
pm2命令 pm2 ls //查询pm2 启动的列表 pm2 start app.js //启动文件 pm2 restart app //重启项目 pm2 logs app //监控项目执行日志打印 ...
- 16.xml
一.xml 1.什么是XML:是一种可扩展的标记语言,所有标记都可以自定义,常用来做配置文件和数据传输的载体2.语法:标签(元素):<元素名> 值 </元素名>属性:在元素中 ...
- 开源版本PowerShell Core 6.2 发布
导读 PowerShell Core 6.2 GA 已发布,PowerShell Core 是 PowerShell 的开源版本,适用于 Linux,macOS 和 Windows. 有关 Power ...
- HyperLedger Fabric 1.0的Transaction处理流程
如果把区块链比作一个只能读写,不能删改的分布式数据库的话,那么事务和查询就是对这个数据库进行的最重要的操作.以比特币来说,我们通过钱包或者Blockchain.info进行区块链的查询操作,而转账行为 ...
- Centos7 安装配置mysql5.6
Centos7下完美安装并配置mysql5.6 Centos7将默认数据库mysql替换成了Mariadb,对于我们这些还想用mysql的人来说并不是一个好消息. 最近我搜罗了网上各种安装教程,各 ...
- Charles抓包显示乱码解决方法
[问题现象] 在抓https协议请求时,Request和Response显示乱码了: [解决办法] 第一步:点击 [工具栏-->Proxy-->SSL Proxying Settings. ...
- Json的生成和解析
json是常见的数据格式,生成和解析是常用的操作.Android中,默认提供orgJson供我们使用,除此之外,google也提供了Gson库方便我们开发. Json样例类 package com.f ...
- 谈谈自己体会到的HTML5
# 谈谈自己体会到的HTML5 很多介绍HTML5的文章,都是从以下几个方面去介绍的:语义化.丰富的表单.本地存储.多媒体.地理位置等等.纸上得来终觉浅,现在有了一定的实践经验之后,本人对其有了更加深 ...