第十六天总结

第十六天

# # 1.数学模块
# port math           #  里面所有的工具都是针对普通数学
# port cmath       #里面所有工具针对复数



# python中和数学相关的类型有4种:int、float、bool、complex
# ai+b、 - 复数  i叫虚数单位,i**2 ==-1
#python种的复数,j是复数
import math
# math 模块
# 1) 小数转整数
#a.math.ceil(数字)     向大取整
# b.math.floor(数字)   向小取整
# round(数字)         四舍五入
print(math.ceil(1.9))    #2
print(math.ceil(1.1))   #2
print(math.floor(1.9))      #1
print(round(1.55))      #5
print(math.degrees(3.1415926535))

# 2)求绝对值
# math.fabs(数字)
# abs(数字)
# print(abs(-62))           绝对值
print(math.fabs(-30))

import  random
# 1)产生随机 整数:random.randint(a,b)   -产生a到b 的随机整数,[a,b]
print(random.randint(1,2))



# 2)产生随机小数: random.random()  -  产生0~1的随机小数
print(random.random())


#产生0~100的随机小数
print(random.random()*100)

print(random.random()*50+50)

#产生 m~n 的随机小数:random.random()*(n-m)+m
# 3)在指定的等差数列中随机获取一个数:random.randrange(起点,终点,步长)
#产生0~100的随机偶数
print(random.randrange(0,100,2))

# 4) 洗牌 (随机打乱列表中元素的顺序)
nums =[10,20,30,40,50,60]
random.shuffle(nums)
print(nums)

# 5)抽牌
# random.choice(序列)
# random.choices(序列,k=数量)    -   随机获取多个元素(有放回)
# random.sample(序列,k=数量)    -  随机取多个元素(无放回)
nums =[10,20,30,40,50,60]
result = random.choices(nums,k=4)
print(result)


result = random.sample(nums,k=3)
print(result)



# 哈希加密(摘要)的特点
'''
1)密文不可逆
2)相同的数据通过相同的算法得到密文相同
3)不同长度的数据通过相同的算法得到的密文长度相同

'''
# 'abc' ->'idsfiusniu' ->'abc'

# 2.python生成哈希摘要的方法

import hashlib
#1)根据算法创建hash对象
#常用hash算法:md5和shaxxx
hash = hashlib.md5()

# 2)添加生成摘要数据
#hash对象.update(二进制数据)
'''
python 中字符串和二进制的相互转换  :  二进制 - bytes
a.字符串转二进制
方法一:bytes(字符串,'utf-8')
方法二:字符串.encode()

b.二进制转字符串
方法一:str(二进制,utf-8)
方法二:二进制.decode()
'''
# result1 = '123456'.encode()
# print(type(result1,'utf-8'))



# hash.update(bytes('123456',encoding='utf-8'))


hash.update('999'.encode())

# 3)获取摘要值(获取密文)
result = hash.hexdigest()
print(result)


# time模块

import time

#补充:时间戳
# 1.time.time()  -   获取当前时间(当时时间的时间戳)
t1 = time.time()
print(t1,type(t1))
'''
时间戳指的是某一个时间到1970年1月1日0时0分0秒(格林威治时间 )的时间差,单位是秒


'''
# 2.time.localtime()
#1)time.;local()   -(返回的时候本地时间对ing的机构体时间)
#2) time.local(时间戳)
t2 = time.localtime()
# 通过结构体时间
print(t2)


#通关过结构体时间单独获取指定信息
#

# print(t2.dyear,t2.tm_mon)


# 3.time.sleep(时间)    -  让程序暂停/等待暂停指定时间(单位unuai出库啊
# time.sleep(2)
#
#
#
# 4.time.strftime(时间格式,结构体时间 - 将结构)
# time.strftime()
# 5.time.strptime()


result = time.strptime('2017-3-24 PM 2:30','%Y-%m-%d %p %I:%M')
print(result)
print(result.tm_wday)


# time.mktime(结构体时间)        - 将结构时间转换成时间戳
print(t2)
result = time.mktime(t2)
print(result)

#datetime 模块
# timedelta  时间的加减法

from datetime import datetime
#1.datetime类型
#1)获取当前时间
t1 = datetime.today()
print(t1,type(t1))

t2 =datetime.today()
print(t2,type(t2))

# 2)直接提供时间信息
#datetime(年,月,日,时=0,分=0,秒=0)
t3 =datetime(2018,10,1)
print(t3,type(t3))

# 3)通过字符串时间创建时间对象
t4 = datetime.strptime('2019-2-23 23:30:51','%Y-%m-%d %H:%M:%S')
print(t4,type(t4))


# 2 . 获取事件对象具体的时间信息
print(t4.year)
print(t4.month)
print(t4.day)
print(t4.hour)
print(t4.minute)
print(t4.second)
print(t4.weekday)


from datetime import timedelta
# 3 .时间的加减操作
#事件对象 -/+ timedelta(days=?,hours=?,minutes=?,seconds=?weeks=?)

#练习: 2019-3-31 23:59:59 2秒后是什么时候
result = t4 + timedelta(seconds=2)
print(result)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值