05 Python之基本数学类型

一、整数类型

与数学中整数的概念一致:可正可负,没有取值范围限制

EG:pow(2,100)=2^100

四种进制表示形式:

二、浮点数类型

(1)带有小数点和小数的数字

浮点数取值范围和小数精度存在范围,一般情况可以忽略不计

(2)浮点数间存在不确定尾数,不是bug

EG:

解决方案:

 round(x,d)

 (3)e的使用(科学计数法)

 三、复数类型

与数学中的复数一致

 四、数学运算操作符

操作符是完成运算的一种符号体系

 

五、数字类型的关系

 六、数值运算函数  

以函数形式提供的数值运算功能

七、实例之天天向上的力量

EG1: 代码:

dayup=pow(1.001,365)
daydown=pow(0.999,365)
print("向上:{:.2f},向下:{:.2f}".format(dayup,daydown))

 结果:

EG2:

  代码:

dayfactor=0.005
dayup=pow(1+dayfactor,365)
daydown=pow(1-dayfactor,365)
print("向上:{:.2f},向下:{:.2f}".format(dayup,daydown))

 EG3:

dayup=1
dayfactor=0.01
for i in range(365):
    if i%7 in [0,6]:
        dayup=dayup*(1-dayfactor)
    else:
        dayup=dayup*(1+dayfactor)
print("工作日的力量:{:.2f}".format(dayup))

EG4:

构思:

 傻瓜代码:试错法

def DayUp(df):#构建一个函数
    dayup=1
    for i in range(365):
        if i%7 in [0,6]:
            dayup=dayup*(1-0.01)
        else:
            dayup=dayup*(1+df)
    return dayup
dayfactor=0.01
while DayUp(dayfactor)<37.78:
    dayfactor=dayfactor+0.001
print("工作日的努力参数是:{:.3f}".format(dayfactor))

八、字符串类型及操作

1.字符串类型的表示

(1)字符串:由0个或多个字符组成的有序字符序列

(2)字符串有两类共四种表示方法

 (3)字符串的序号

(4)字符串的使用(重点:索引&切片)

  (5)字符串的特殊字符:转义符

 九、字符串操作符

 十、字符串处理函数:一些以函数形式提供的字符串处理功能

 十一、字符串处理形式

EG:

s=input()
ls=s.split("-")
print('{}+{}'.format(ls[0],ls[-1]))

十二、字符串类型的格式化 

 

  

0是参数序号,也就是把第一个参数str替换进去,只有一个参数可以省略

{0:3}表示输出的宽度是3,但如果字符串超过长度3,则以字符串长度显示。

EG:

n = eval(input())
for i in range(1,n+1,2):
print("{0:^{1}}".format(’*’*i, n))
%槽的嵌套:{1} 表示槽的宽度为format()内的第二个数,即本题中的n。
%平方根式化
a=eval(input())
print('{0:+>30.3f}'.format(a**0.5))

 十三、time库的使用

1.time库是Python中处理时间的标准库

2.time库包括三类函数

2.1 时间获取

2.2 时间格式化

#格式控制符

 

#时间格式化

EG:

 2.3 程序计时应用

程序计时应用广泛

 十四、实例之文本进度条

问题分析:进度条如下图所示

进度条要求:采用字符串方式打印可以动态变化的文本进度条

进度条需要在一行中逐渐变化 

1.文本进度条简单的开始

EG1:

import time
scale=10
print('-----执行开始-----')
for i in range(scale+1):
    a='*'*i
    b='.'*(scale-i)
    c=(i/scale)*100
    print("{:^3.0f}%[{}->{}]".format(c,a,b))
    time.sleep(1)
print('-----执行结束------')

 EG2:

import time as t
scale=10
print("{:=^20}".format("执行开始"))
for i in range(scale+1):
    a=i*10
    b=str(a)+"%"
    print("{:.<20}".format(b))
    t.sleep(0.1)
print("{:=^20}".format("执行结束"))

 2.文本进度条之单行动态刷新

import time
for i in range(101):
    print("\r{:3}%".format(i),end="")#idle不能识别\r
    time.sleep(0.1)

\r 表示将光标的位置回退到本行的开头位置

但是用idle所的结果为:

这样的结果是因为IDLE屏蔽了\r功能

可以以此方法来解决问题

 打开Windows+R(+cmd)

直接将文件拖入其中

 3.文本进度条实例完整效果

import time
scale = 50
print("执行开始".center(scale//2,'-'))
start = time.perf_counter()
for i in range(scale+1):
    a = '*' * i
    b = '.' * (scale - i)
    c = (i/scale)*100
    dur = time.perf_counter() - start
    print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end='')
    time.sleep(0.1)
print("\n"+"执行结束".center(scale//2,'-'))

举一反三:文本进度条的不同函数

注意

本文题目来源为Python123平台和中国大学MOCC的《Python语言程序设计》课程, 主讲老师:嵩天、黄天羽、礼欣。如有侵权,立删。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值