python中math库_Python的math库、random库实际应用

昨天在说那个列表的时候,我挖了一个坑,不知道你们看出来没有?就是用循环语句写迭代的时候,总是运行不了结果,其实是因为我没有缩进的问题,因为有一个for循环,下面print如果没有对应的缩进,那么就说明这个循环语句少了一个输出,是一个死循环。所以print必须要有个缩进,写在i下面即可。(昨天一个老铁凌晨的时候问我为啥,哈哈)

好了,废话不多说,今天我们先介绍一下math库和random库,昨天脚疼没当回事,结果今天更严重了,一直在病床上躺着,刚刚把今天要说的东西整理好笔记,对于math库和random库,我直接就给个图片,行不?先看一下,适当的背一下,下面教你们如何引用这些函数?顺便来个实例。

math库:

random库:

以上的函数一定要记会!因为这些东西是我们用来吃饭的东西!

其中random库的seed函数我打算明天好好说一下,因为在Python中这个seed比较重要。

下面我直接用一个实例来说一下如何运用上面的函数吧

小程序的目的是:精确的求π,但是π只能用近似的方法不断来接近更精确的值,我们便用一个Monte Carlo方法来求π的值,其中monte carlo法说实话啊,就是几何概型,在第一象限中,设置一个边长为1的正方形,然后以原点为圆心,半径为1,在第一象限画一个四分之一圆,然后往正方形里面随机投点,最后点投入的越来越多,通过比较落在四分之一圆内的和整个正方形内部的点的个数,就可以来求出四分之一圆的面积,进而得出π的近似值。通过提高投点的个数,就可以得到更为精确的π值。

# pi.py

fromrandomimportrandom

frommathimportsqrt

fromtimeimportclock

DARTS =1200

hits =

clock()

foriinrange(1,DARTS):

x,y = random(),random()

dist = sqrt(x**2+ y**2)

ifdist

hits = hits +1

pi =4* (hits/DARTS)

print("Pi的值是 %s"% pi)

print("程序运行时间是 %-5.5ss"% clock())

下面我来解释一下这个小程序。

这个程序是一个典型的IPO模型

输入:抛洒点的数量

处理:对于每个抛洒点,通过计算抛洒点到圆心的距离,来判断抛洒点是落在了圆内还是圆外。进而统计点的数量。

输出:π

但是对于math库和random库,我们需要先引用math库和random库,因为我们在计算抛洒点到原因的距离的时候,用到了sqrt(x^2+y^2)与1进行比较,其中sqrt属于math库的函数,而且其中我们抛洒点是随机抛洒的,所以用到了random,属于random库里面的函数,其中我想通过设置不同的抛洒点数量来得到不同的π值,并且想看看与输出时间的关系,所以我又引入了一个time函数。

具体如何引用math库、random库、time呢?

就用

fromrandomimportrandom

frommathimportsqrt

fromtimeimportclock

就是之前讲的其中一种方式

from 函数库 import 函数名

然后设置抛洒点的数量,其中DARTS就是抛洒点的数量。

hits表示的是落在四分之一圆内的抛洒点数量。

接下来是一个for循环:

x,y的值是随机的,然后dist就是抛洒点距离圆心的距离,下面是一个if函数,如果距离小于1,那么hits就加1.

然后求π的公式就

pi=4*(hits/Darts)

然后print即可。

很简单的一个小程序,你们运行的时候,告诉我一定要注意什么?特别是循环语句里面还内嵌了一个if语句,特别特别要注意什么??留言。

当darts为1200的时候 π值为3.17

当darts为30000的时候,π为3.1204

好了今天就这样了,躺床上写文章真的是超级麻烦,我这边放了一个ipad,我解释程序的时候,还要把程序发到ipad上,这样才能边看程序边打字,一个手机,一个鼠标、鼠标垫,一个小桌子放笔记本电脑,然后旁边又是笔记本和书还有笔,躺床上真的好难受!希望明天就可以下床。

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

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

相关文章

(转)漫画:什么是分布式事务?

转自: https://blog.csdn.net/bjweimengshu/article/details/79607522 假如没有分布式事务 在一系列微服务系统当中,假如不存在分布式事务,会发生什么呢?让我们以互联网中常用的交易业务为例子: 上图中包含了库存和订…

Java 线程池框架核心代码分析

转载自 Java 线程池框架核心代码分析前言 多线程编程中,为每个任务分配一个线程是不现实的,线程创建的开销和资源消耗都是很高的。线程池应运而生,成为我们管理线程的利器。Java 通过Executor接口,提供了一种标准的方法将任务的提…

python渐变色代码_如何在Python中创建颜色渐变?

6 个答案: 答案 0 :(得分:54) 我还没有看到一个简单的答案就是使用colour package。 通过pip安装 pip install colour 如此使用: from colour import Color red Color("red") colors list(red.range_to(Color("green"),10)) # col…

(转)web.xml 中的listener、 filter、servlet 加载顺序及其详解

转&#xff1a; https://www.cnblogs.com/Jeely/p/10762152.html web.xml 中的listener、 filter、servlet 加载顺序及其详解 一、概述 1、启动一个WEB项目的时候&#xff0c;WEB容器会去读取它的配置文件web.xml&#xff0c;读取<listener>和<context-param>两个…

柱状图python_python柱状图一行

编写计算柱状图的python程序有很多种方法。 通过柱状图,我指的是一个计算对象在 iterable 并在字典中输出计数。例如: >>> L abracadabra >>> histogram(L) {a: 5, b: 2, c: 1, d: 1, r: 2} 编写此函数的一种方法是: def histogram(L): d {} for x in L: i…

HashMap 和 HashTable 到底哪不同 ?

转载自 HashMap 和 HashTable 到底哪不同 &#xff1f;代码版本 JDK每一版本都在改进。本文讨论的HashMap和HashTable基于JDK 1.7.0_67。源码见这里 1. 时间 HashTable产生于JDK 1.1&#xff0c;而HashMap产生于JDK 1.2。从时间的维度上来看&#xff0c;HashMap要比HashTable出…

架构师成长之路(内附推荐书籍)

转&#xff1a; https://www.jianshu.com/p/f661f098b88a 想要成为架构师&#xff0c;对技术的深度和广度都有很高的要求&#xff0c;本文列举出成为一个架构师必备的技能和学习路线。 对于学习途径有疑惑或苦恼&#xff0c;或者有优秀资料可以提供的同学&#xff0c;可加留言&…

python 虚拟环境_理解Python虚拟环境

什么是环境既然有所谓的 虚拟环境&#xff08;Virtual Environment&#xff09;&#xff0c;那么首先有必要解释一下&#xff0c;什么是环境。这里的环境&#xff0c;指的就是 Python 代码的运行环境。它应该包含以下信息&#xff1a;Python 解释器&#xff0c;用哪个解释器来执…

java.util.concurrent.locks.Lock文档说明

【1】Lock接口文档描述 1.相比于使用synchronized方法和代码块&#xff0c;锁的出现提供了更广泛的锁操作。 锁允许更灵活的代码结构&#xff0c;具有许多不同的属性&#xff0c;还支持多个关联的Condition条件对象。 2.锁是用于控制多个线程访问共享资源的工具。通常&#…

20 个使用 Java CompletableFuture的例子

转载自 20 个使用 Java CompletableFuture的例子这篇文章介绍 Java 8 的 CompletionStage API和它的标准库的实现 CompletableFuture。API通过例子的方式演示了它的行为&#xff0c;每个例子演示一到两个行为。既然CompletableFuture类实现了CompletionStage接口&#xff0c;首…

fastreport 打印两个list_Smaller And Smarter Python数据结构:合并两个有序链表

原创&#xff1a; 老表 简说Python 今日问题 &#xff1a;翻转链表k个相邻结点"""目标&#xff1a;写一段程序&#xff0c;合并两个有序链表例如&#xff1a;输入-> 1->2->3输入-> 2->5->6->8输出-> 1->2->2->3->5->6-&…

java.util.concurrent.locks.Condition文档说明

【1】Condition接口文档描述 1.Condition类把Object监视器方法&#xff08;wait,nofify, notifyAll&#xff09;分解为不同对象&#xff0c;通过与Lock实现类的合并使用&#xff0c;Condition可以产生每个object都有多个等待集的效果。在Lock实现类替代synchronized方法或语句…

谈谈HashMap线程不安全的体现

转载自 谈谈HashMap线程不安全的体现HashMap的原理以及如何实现&#xff0c;之前在JDK7与JDK8中HashMap的实现中已经说明了。那么&#xff0c;为什么说HashMap是线程不安全的呢&#xff1f;它在多线程环境下&#xff0c;会发生什么情况呢&#xff1f;1. resize死循环我们都知道…

手机打开python文件_使用python在计算机和手机之间通过wifi进行简单的文件传输...

我会使用 paramiko.它安全快速而且非常简单.怎么回事&#xff1f; 所以我们首先导入模块,然后指定日志文件&#xff1a; import paramiko paramiko.util.log_to_file(/tmp/paramiko.log) 我们打开一个SSH传输&#xff1a; host "example.com" port 22 transport p…

10人以下小团队管理手册-学习笔记

【README】 本文总结于《10人以下小团队管理手册》&#xff0c;很nice的一本书&#xff0c;有兴趣的同学可以翻下&#xff1b; 【0】序章 作者作为咨询师发现&#xff0c; 1.下属对主管有不满&#xff0c;主管对下属有怨言&#xff1b; 2.10人以下小团队主管经常会为 如何用…

JavaWeb项目:简易小米商城系统

Web项目&#xff1a;MyShop简易小米商城系统一.系统概述二.系统开发环境三.涉及技术四.系统功能及使用说明五.作者杂谈六.尾声七.gitee地址&#xff1a;&#xff08;源码见文末&#xff09; 一.系统概述 本系统是一个电商系统&#xff0c;可供用户注册&#xff0c;登录&#…

HashMap的实现与优化

转载自 HashMap的实现与优化HashMap的优化与实践 本文是基于作者在github上的Android 问题交流讨论坛提问而产生的一篇文章&#xff0c;也是自己早打算开坑的一篇文章。文章首先介绍了hashMap的一些基本知识&#xff0c;然后介绍了它在JDK8下的实现原理&#xff0c;最后着重介绍…

如何确定python开发环境已经配置好_搭建 python 开发环境 前面安装选位置我直接回车了现在我想测试查看目录该怎么办...

展开全部 1 ubuntu中一般安装e5a48de588b662616964757a686964616f31333431343036后的默认路径如下#!/usr/bin/env python #!/usr/locat/bin/python 如果没有找到&#xff0c;可以通过命令查询python路径whereis python which python 2 Windows一般可以进入python>>> i…

转- java单例模式几种实现方式

转自&#xff1a; https://www.cnblogs.com/ngy0217/p/9006716.html &#xff1b; 单例模式的五种实现方式 1、饿汉式(线程安全&#xff0c;调用效率高&#xff0c;但是不能延时加载)&#xff1a; 1 2 3 4 5 6 7 public class ImageLoader{ private static ImageLoade…

IDEA集成maven流程图详细介绍

前言 最近利用两天时间学习了MyBatis以及maven,避免经典的学过就忘记&#xff0c;我打算做出点总结以便日后复习&#xff0c;当然如果能帮到需要的人也是极好的。 一. 初识maven 1.maven是什么 maven是用来帮助我们快速搭建项目结构与开发环境的好工具。回想一下每次新建项…