Python学记(四)数据类型(上)

本文深入探讨了Python中的数据类型,包括整数、浮点数、复数的特性与运算规则,以及数值运算操作符和函数的应用。通过具体示例,如每日进步率的计算,展示了不同类型数字间的混合运算与转换过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Day 2019.5.13

数据类型

数字类型及操作

整数类型(integer)

  • 可正可负,没有取值范围限制
    例如:
pow(x,y)  ##计算x^y
>>> pow(2,100)
1267650600228229401496703205376
  • 四种进制
    1.十进制
    2.二进制
    3.八进制
    4.十六进制

浮点数类型(real number)

  • 与数学中的实数概念一致
    1.带有小数点及小数的数字
    2.浮点数取值范围和小数精度都存在着限制,但一般可忽略
  • 浮点数之间运算存在不确定尾数
>>> 0.1+0.4
0.5
>>> 0.1+0.2
0.30000000000000004
>>> 0.1+0.2 == 0.3
False

对于第三种情况可以使用round(x,d)函数来解决,作用是对x四舍五入,d是小数截取位数

>>> round(0.1+0.2,1) == 0.3
True
  • 科学计数法
    字母e或E作为幂的符号,以10为基数,格式为<a>e<b>
    4.3e-3=0.0043
    9.6E5=960000.0

复数类型(complex number)

  • 与数学中复数的概念一致
    在这里插入图片描述
    数学中虚数单位为i
    举个?
>>> z = 1.2345e-3+4.562j
>>> z.real  ##获得实部
0.0012345
>>> z.imag  ##获得虚部
4.562
>>> 

tip:实际上复数用的不多。。。。

数值运算操作符

  • 这个内容很实用


在这里插入图片描述

在这里插入图片描述

  • 数字类型的关系
    不同类型的数字可以混合运算,生成结果为‘最宽’类型
    窄 整数->浮点数->复数 宽
    举个?
>>> 123+4.0
127.0    ##(整数+浮点数=浮点数)

数值运算函数

  • 这个也很实用
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

实例:天天向上

#daydayup.py
#每天进步0.1%,退步0.1%
dayup = pow(1.001,365)
daydown = pow(0.999,365)
print('向上:{:.2f},向下:{:.2f}'.format(dayup,daydown))

>>> 向上:1.44,向下:0.69

#0.5%和1%的问题
dayfactor = 0.005  ##下次只需修改变量值
dayup = pow(1+dayfactor, 365)
daydown = pow(1-dayfactor, 365)
print('向上:{:.2f},向下:{:.2f}'.format(dayup,daydown))

>>> 向上:6.17,向下:0.16
##工作日问题
#工作日增加,休息日减少
dayup = 1.0
dayfactor = 0.01
for i  in range(365):
	if i % 7 in [6,0]:
		dayup = dayup * (1-dayfactor)
	else:
		dayup = dayup * (1+dayfactor)
print('工作日的力量:{:.2f}'.format(dayup))

>>> 工作日的力量:4.63
#工作日要努力到什么水平,才能和每天努力1%一样?
#设A一年365天,每天进步1%,不休息
#设B一年365天,做五休二,休息日下降1%

在这里插入图片描述

#Q4
def dayup(df):    ##定义函数
	dayup = 1
	for i in range(365):
		if i% 7 in [6,0]:
			dayup = dayup*(1-0.01)
		else:
			dayup = dayup * (1+df)
	return dayup
dayfactor = 0.01
while dayUP(dayfactor) < 37.78:    ##循环直至条件成立
	dayfactor = dayfactor +0.001  #dayfactor +=0.01
print('工作日需要努力:{:.2f}'.format(dayfactor))


>>> 工作日需要努力:0.019

字符串类型及操作

time库

文本进度条

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Infinity343

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值