python3数字类型分为_Python初学3——数字类型及操作

一、数

1.1 整数类型( 十、二、八、十六进制 )

python中整数类型与数学中的整数概念一致,有正有负,取值任意。

整数的表示形式:

整数类型表示形式举例十进制34,163,210

二进制0b1101 或 0B1101

八进制0o357 或 0O357

十六进制0x45ac 或 0X45ac

1.2 浮点数类型( round()、科学计数法表示 )

python中浮点数即指带有小数点和小数的数字,浮点数取值范围(-10308至10308)和小数精度(10-16)都存在限制(这些限制对于常规运算可以忽略)。

浮点数间运算存在不确定尾数,这不是bug。

原因在于计算机中是以有限位数的二进制表示小数的,二者可以无限接近但不完全相同,这就使得计算机以二进制形式计算小数运算时存在了误差,在输出时计算机再截取一定的小数位数输出,就可能产生尾数。python中不确定尾数一般发生在10-16左右。

例如:

43cc88b01a2eb18d073f27e34a904612.png

图1-1 浮点数间运算的不确定尾数

图1-1中,(0.1 + 0.2) 和 (0.11 + 1.32) 的结果不等于正确结果的情况即为出现不确定尾数。

rang()函数辅助解决不确定尾数问题 round(x, d)对x四舍五入,d是小数截取位数

be85d75e2b592e43af3f556f6cc571a9.png

图1-2 round()函数四舍五入

浮点数的科学计数法表示形式

科学计数法表示使用字母e或E作为幂的符号,以10为基数,格式如下:

浮点数科学计数法表示形式0.6356.35e-1

51.064155.106415E1

-0.413-4.13E-1

-165.333-1.65333e2

1.3 复数类型( 多用于空间变换或复变函数相关,虚实部的获取 )

在数学中,a + bj被称为复数,其中a是实部,b是虚部,j是复数单位。

在python中,复数与数学中的复数相同。

.real获得复数的实部

.imag获得复数的虚部

例如:

6265c7815c8ca94ffb069b86128b9e5b.png

图1-3 python中的复数即获取虚实部

二、数值运算操作符( 加、减、乘、除、模、幂、整数除、取相反数 )

2.1 常用操作符

操作符及使用说明x + y加,求x与y的和

x - y减,求x与y的差

x * y乘,求x与y的积

x / y除,求x与y的商(浮点数结果)。10 / 3 结果为3.3333333333333335

x // y整数除,求x与y的商(整数结果)。10 // 3 结果为3

+ x表示x本身

- x取x的相反数

x % y模运算,求x除y的余数。10 % 3 结果为1

x ** y幂运算,求 xy。9 ** 0.5 结果为3.0

2.2 增强赋值操作符

增强赋值操作符及使用说明x += y与 x = x + y 等价

x -= y与 x = x - y 等价

x *= y与 x = x * y 等价

x /=y与 x = x / y 等价

x //= y与 x = x // y 等价

x %= y与 x = x % y 等价

x **= y与 x = x ** y 等价

三、数值运算函数( abs()、divmod()、pow()、round()、max()、min()、int()、float()、complex() )

数值运算函数及使用说明abs(x)绝对值函数,求x的绝对值

divmod(x, y)商余函数,同时求 x // y 和 x % y 。divmod(10, 3) 结果为(3, 1)

pow(x, y[, z])幂余函数,求 (x ** y)%z 。z省略则代表求 xy

round(x[, d])四舍五入函数,对 x 四舍五入,d 是保留的小数位数。d 省略则代表对 x 四舍五入取整

max(x1, x2, x3, …, xn)最大值函数,求 x1, x2, x3, …, xn 中的最大值,n 不限

min(x1, x2, x3, …, xn)最小值函数,求 x1, x2, x3, …, xn 中的最小值,n 不限

int(x)取整函数,直接舍弃x的小数部分。int(123.123) 结果为123,int(“123”) 结果为123

float(x)取浮点函数,为x添加小数部分。float(123) 结果为123.0,float(“1.23”) 结果为1.23

complex(x)取复数函数,为x添加虚数部分。complex(123) 结果为 123 + 0j

四、天天向上实例

1.1 实例1

# 每天进步1%。

dayup = pow(1.001, 365)

# 每天退步1%。

daydown = pow(0.999, 365)

print("向上:{:.2f},向下:{:.2f}".format(dayup, daydown))

1.1 实例2

dayfactor = 0.001# 定义每天进步的参数

# 每天进步1%。

dayup = pow(1 + dayfactor, 365)

# 每天退步1%。

daydown = pow(1 - dayfactor, 365)

print("向上:{:.2f},向下:{:.2f}".format(dayup, daydown))

1.1 实例3

'''''''''''''''''''''''''''''''

一年365天中,工作日每天进步1%

周六日每天退步1%

'''''''''''''''''''''''''''''''

dayup = 1.0# 定义初始进步

dayfactor = 0.01# 定义每天进步的参数

# 进行365天循环,i = 0, 1, 2, ..., 364

for i in range(365):

if i % 7 in [6, 0]:# 周六日退步1%

dayup *= (1 - dayfactor)

else:# 工作日进步1%

dayup *= (1 + dayfactor)

print("工作日的力量:{:.2f}".format(dayup))

1.1 实例4

小明:一年365天,每天进步1%,不停歇

玲玲:一年365天,每周工作5天休息2天,休息日每日退步1%,那玲玲在工作日平均每天要进步多少,最后才能和小明的进步相当呢?

流程图如下:

Created with Raphaël 2.2.0

开始

计算小明365天进步结果M

假设玲玲工作日平均每天进步1%

计算玲玲365天进步结果N

N≥M吗?

输出x

结束

x增加千分之一

yes

no

# 计算小明365天的进步量

Ming_dayup = pow(1.01, 365)

''' @brief 用于计算玲玲365天的进步量

'' @param df: 玲玲工作日平均每天进步的参数

'' @retval 玲玲365天的进步量

'''

def Ling_dayup(df):

dayup = 1# 定义玲玲的初始进步

# 进行365天循环,i = 0, 1, 2, ..., 364

for i in range(365):

if i % 7 in [6, 0]:# 玲玲一周内2天退步1%

dayup *= (1 - 0.01)

else:# 玲玲一周内5天进步df

dayup *= (1 + df)

return dayup# 函数返回玲玲365天的进步量

'''''''''''' 主程序 ''''''''''''

Ling_dayfactor = 0.01# 假设玲玲工作日平均每天进步1%

while Ling_dayup(Ling_dayfactor) < Ming_dayup:# while循环判断,直到玲玲最后的进步量不小于小明的进步的时候,结束循环

Ling_dayfactor += 0.001

print("玲玲工作日每天应平均进步{:.3f}".format(Ling_dayfactor))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/537936.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

idea 2018.1 创建springboot开启找回Run Dashboard

原文连接&#xff1a;https://www.cnblogs.com/yangtianle/p/8818255.html ---------------------------------------------------------------------------------配置方法首先找到项目中.idea文件下的workspace.xml开打接下来找到<component name"RunDashboard"&…

wepack构建工具

神TMc css重要性 程序猿 感叹

php获取蓝凑云文件列表,php调用蓝奏云下载接口

/*** package Lanzou* author Filmy* version 1.2.1* link https://mlooc.cn*/header(Access-Control-Allow-Origin:*);header(Content-Type:application/json; charsetutf-8);$url isset($_GET[url]) ? $_GET[url] : "";$pwd isset($_GET[pwd]) ? $_GET[pwd] : …

微信支付-服务端-bug排查记录

微信支付服务端需要对微信官方的统一下单接口发送请求获取prepayId作为app端调用支付的凭证&#xff0c;如果返回签名错误&#xff0c;首先排查代码层面的错误。 方法&#xff1a;使用微信官方的签名算法检验。 地址&#xff1a;https://pay.weixin.qq.com/wiki/doc/api/jsapi.…

.Net Core+mySqlSugar的一些稍复杂操作

介绍一些我尝试的mysqlSugar的数据库操作 修改密码 var status db.Update<Users>(new { password user.password }, it > it.username user.username); 更新数据&#xff08;防止空值一起更新&#xff09; 首先封装一个函数&#xff08;判断是否为空或者数值为0&a…

nginx一个server多个servername

nginx server_name 多个的话&#xff0c;空格隔开就行

php根据汉字首字母分组,利用PHP获取汉字首字母并且分组排序详解

前言本文主要给大家介绍了关于PHP获取汉字首字母并分组排序的相关内容&#xff0c;因经常我们在做项目的时候&#xff0c;会有按首字母排序的需求 比如&#xff1a; 美团的城市选择 http://www.meituan.com/index/changecity/initiative app中按字母搜索正题网上找了各种&#…

[算法总结] 13 道题搞定 BAT 面试——字符串

本文首发于我的个人博客&#xff1a;尾尾部落 1. KMP 算法 谈到字符串问题&#xff0c;不得不提的就是 KMP 算法&#xff0c;它是用来解决字符串查找的问题&#xff0c;可以在一个字符串&#xff08;S&#xff09;中查找一个子串&#xff08;W&#xff09;出现的位置。KMP 算法…

Sqlserver备份存储过程

查了网上找不到快速备份Sqlserver存储过程的方法&#xff0c;心里想&#xff0c;如果Sqlserver不自带这个功能&#xff0c;真是太low了。步骤1&#xff1a;打开存储过程文件夹步骤2&#xff1a;按 F7 键&#xff0c;打开“对象资源管理器详细信息”窗口步骤3&#xff1a;点击“…

仿拉钩app(一)---爬虫数据准备

工欲善其事必先利其器&#xff0c;准备做一个拉钩的app&#xff0c;但是没数据可怎么办&#xff0c;那就直接扒裤衩去爬吧 一般爬虫的思路为&#xff1a; 分析页面结构是否有接口模仿请求&#xff08;解决反爬的各种方式&#xff09;解析数据存储数据按照以上的思路&#xff0c…

小哼买书JAVA编写,04_小哼买书

现在来看一个具体的例子“小哼买书”(根据全国青少年信息学奥林匹克联赛 NOIP2006 普及组第一题改编),来实践一下 章所学的三种排序算法。Paste_Image.png小哼的学校要建立一个图书角,老师派小哼去找一些同学做调查,看看同学们都喜欢读哪些书。小哼让每个同学写出一个自己最想读…

[Err] 22007 - [SQL Server]从 nvarchar 数据类型到 datetime 数据类型的转换产生一个超出范围的值。

报错语句&#xff1a; cast(Replace(Replace(P.DeliverDate,.,-),/,-) as datetime)改为 cast(Replace(Replace(P.DeliverDate,.,-),/,-) as datetime2)使用 datetime2 代替 datetime

linux Postfix + dovecot + extmail + extman + mysql

配置环境&#xff1a;RHEL5.5 i386DNS MX[rootstation40 ~]# host -t MX tianyun.comtianyun.com mail is handled by 10 mail.tianyun.com.[rootstation40 ~]# [rootstation40 ~]# ping mail.tianyun.comPING mail.tianyun.com (192.168.0.2) 56(84) bytes of data.64 bytes f…

php 接口安全解决方案,php接口数据安全解决方案(一)

前言目的&#xff1a;1.实现前后端代码分离&#xff0c;分布式部署2.利用token替代session实现状态保持&#xff0c;token是有时效性的满足退出登录&#xff0c;token存入redis可以解决不同服务器之间session不同步的问题&#xff0c;满足分布式部署3.利用sign&#xff0c;前端…

Teamview连接Windows server问题

场景&#xff1a; 服务器在集团总部杭州&#xff0c;网管在集团宁波分公司&#xff0c;连接服务器通过内网远程桌面。过程&#xff1a; 网管给了tv的账号&#xff0c;密码。连接的时候一直连不上去。卡在“正在初始化连接参数”。后来网管不信&#xff0c;远程桌面了下&#xf…

nginx An attempt was made to access a socket in a way forbidden by its access permissions

在安装了 sqlserver2008 的win7 与 win2008 上启动 nginx&#xff0c;绑定80端口&#xff0c;报错&#xff1a; nginx An attempt was made to access a socket in a way forbidden by its access permissions查了百度&#xff0c;说修改注册表&#xff0c;但我的电脑上找不到文…

php codesniffer 代码规范,规范三:PHP_CodeSniffer 辅佐代码规范

>也可以参考此文&#xff1a;https://www.cnblogs.com/huangbx/p/php_codesniffer.html[TOC]我用的是wamp&#xff0c;环境是php7.0.23# (一)下载 pear打开http://pear.php.net/go-pear.phar&#xff0c;会显示代码&#xff0c;不用管他&#xff0c;直接copys复制到本地&…

php的cms是什么意思,phpcms是什么系统

什么是phpcms&#xff1f;Phpcms 是国内领先的网站内容管理系统&#xff0c;同时也是一个开源的PHP开发框架。Phpcms由内容模型、会员、问吧、专题、财务、订单、广告、邮件订阅、 短消息、自定义表单、全站搜索等20多个功能模块组成&#xff0c;内置新闻、图片、下载、信息、产…

【python】 time模块和datetime模块详解 【转】

一、time模块 time模块中时间表现的格式主要有三种&#xff1a; a、timestamp时间戳&#xff0c;时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量 b、struct_time时间元组&#xff0c;共有九个元素组。 c、format time 格式化时间&#xff0c;已格式化的结构使时间更…

spring boot Exception in Thread “main” java.lang.classNoFoundException

在客户测试环境部署&#xff0c;通过打包成jar&#xff0c;使用命令 nohup java -jar /usr/local/tomcat/shirencai/ct-peixun-provider.jar –spring.profiles.activestage > /usr/local/tomcat/shirencai/ct-peixun-provider-temp.txt & 报错后来排查以为是内存不够。…