time库和random库的使用

目录

1 time库的使用

  • time库是Python中处理时间的标准库
  • 提供系统级精确计时功能,用于程序性能分析
  • 提供获取系统时间并格式化输出功能
# time库使用方法
import time
time.<b>()      # <b>为time的方法

1.1 time库基本介绍

  • time库包括三类函数
    • 时间获取:time()ctime()gmtime()
    • 时间格式化:strftime()strptime()
    • 程序计时:sleep()perf_counter()

1.2 时间获取

时间获取

1.3 时间格式化

  • 将时间以合理的方式展示出来
  • 格式化:类似字符串格式化,需要有展示模板
  • 展示模板由特定的格式化控制符组成
    这里写图片描述

1.4 程序计时应用

  • 测量时间:perf_counter()
  • 产生时间:sleep()
    计时

2 random库

  • random库是使用随机数的Python标准库
  • 伪随机数: 采用梅森旋转算法生成的(伪)随机序列中元素
  • random库主要用于生成随机数
  • random库包括两类函数
    • 基本随机数函数: seed()random()
    • 扩展随机数函数: randint()getrandbits()uniform()randrange()choice()shuffle()

2.1 基本随机函数(2个)

1
2

2.2 扩展随机数函数(6个)

扩展随机函数

#!/usr/bin/env python
# -*- coding:utf8 -*-

# 蒙特卡罗方法估算圆周率
import time
import random

n = 1000*1000*10

strtime = time.time()
pn = 0

# 版本一 大概 15s 左右
# for i in range(n):
#     x, y = random.random(), random.random()
#     if pow( x**2+y**2, 0.5 ) < 1:
#         pn = pn + 1

# 版本二 运行大概 12s 左右
# for i in range(n):
#     x, y = random.random(), random.random()
#     if x+y<1:
#         pn = pn + 1
#     elif pow( x**2+y**2, 0.5 ) < 1:
#         pn = pn + 1

# 版本三 10s 左右
for i in range(n):
    x, y = random.random(), random.random()
    if x +y > 2**0.5:
        continue
    elif x+y<1:
        pn = pn + 1
    elif pow( x**2+y**2, 0.5 ) < 1:
        pn = pn + 1

pi = 4 * pn/n

endtime = time.time()
print( "耗时{:.5f}s".format(endtime-strtime) )
print("pi = {}".format(pi))

参考文献
[1] 嵩天、黄天羽、礼欣,北理工MOOC


end

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值