ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python math数学模块

2020-06-05 20:53:43  阅读:507  来源: 互联网

标签:__ Area area python 面积 模块 圆面积 math


 https://study.163.com/course/courseMain.htm?courseId=1006383008&share=2&shareId=400000000398149(博主录制)

(原创声明,转载引用需要指明来源)

数学模块math概述

math模块包含常见数学函数,但这些函数不能与复数一起使用。 如果需要支持复数,请使用cmath模块中的同名函数。

1.math模块基础语法

math模块包含平方数,阶乘,正弦,反正弦,余弦,反余弦,指数,对数,正切,反正切的函数,可以处理向量等计算,包含无理数Π,e。下图中就是math模块包含内容。

['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'copysign',
'cos', 'cosh', 'degrees', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf',
'isclose', 'isfinite', 'isinf', 'isnan', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'pi', 'pow', 'radians', 'remainder',
'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc']

例如math.sqrt() 方法返回数字x的平方根。如果我们想要求数字10的平方根,就用代码math.sqrt(10),算出来是3.16(四舍五入)。

import math      #导入math模块
a=10             #创建变量a,赋值10
b=math.sqrt(a)   #对变量a取平方根
print(b)         #输出变量b值   

以下总结了math模块常用的数学函数或属性。

math.pi表示数字常量,圆周率

>>> print(math.pi)
3.141592653589793

 math.e表示一个常量

>>> math.e
2.718281828459045

math.fabs(x)返回x的绝对值

>>> math.fabs(-0.05)
0.05

 math.ceil(x)取大于等于x的最小的整数值,如果x是一个整数,则返回x

>>> math.ceil(5.12)
6

math.floor(x)取小于等于x的最大的整数值,如果x是一个整数,则返回x

>>> math.floor(5.12)
6

 fmod()得到x/y的余数,其值是一个浮点数

>>> math.fmod(30,4)
2.0

math.gcd(x,y)返回x和y的最大公约数

>>> math.gcd(10,5)
5

factorial(x)取x的阶乘的值

>>> math.factorial(5)
120

 math.fsum()对迭代器里的每个元素进行求和操作,返回求和值为浮点数

>>>> math.fsum((1,2,3,4))
10.0

math.cos(x)求x的余弦,x必须是弧度

>>> math.cos(math.pi/2)
6.123

math.degrees(x)把x从弧度转换成角度

>>> math.degrees(math.pi/2)
90

math.pow()返回x的y次方,即x**y

>>> math.pow(2,3)
8.0

math.exp(x)返回math.e(其值为2.71828)的x次方

>>> math.exp(3)
20.085536923187668

math.hypot()方法返回所有参数的平方和的平方根

>>> math.hypot(2,3)
3.60555127546398

 2.实例:计算圆的面积

在古希腊,数学家阿基米德在《圆的测量》中使用欧几里得几何证明了一个圆周内部的面积等于一个以其圆周长及半径作为两个直角边的直角三角形面积。

 

4000多年前修建的埃及胡夫金字塔,底座是一个正方形,占地52900平方米。它的底座边长和角度计算十分准确,误差很小,可见当时测算大面积的技术水平已经很高。而圆是最重要的曲边形。古埃及人把它看成是神赐予人的神圣图形。如何求圆的面积,是数学对人类智慧的一次考验。圆面积公式的常规推导思路是:先把一个圆平均分成若干份,然后将其拼成近似的长方形,最后根据长方形与圆的关系推导出圆的面积公式。当时人们认为既然正方形的面积容易求,只需要想办法做出一个面积恰好等于圆面积的正方形。但是怎样才能做出这样的正方形又成为了另外一个难题。古代三大几何难题其中之一,便是化圆为方。这个起源于古希腊的几何作图题,在2000多年里,不知难倒了多少能人,直到19世纪,人们才证明了这个几何题,是根本不可能用古代人的尺规作图法作出来的。

 

(2盎司克努姆银圆)

 

古代数学家的贡献

我国古代的数学家祖冲之,从圆内接正六边形入手,让边数成倍增加,用圆内接正多边形的面积去逼近圆面积。众多的古代数学家煞费苦心,巧妙构思,为求圆面积作出了十分宝贵的贡献。为后人解决这个问题开辟了道路。

 

到了现代,我们已经知道圆的面积公式为Π乘以半径的平方。我们可以用python的math模块,写一个自动求园面积的脚本。

首先导入math模块

import math

然后用math.pi来表示无理数Π,其值为3.14 (保留两位小数)

PI = math.pi

半径平方可以调用math.pow(r,2)方法,r为半径,2表示平方。

math.pow(r,2)

圆的面积公式为Π乘以半径的平方。我们生成Area(r)函数来自动计算圆的面积,函数的入参为r,表示圆的半径。

# 定义一个方法来计算圆的面积
def Area(r):
    PI = math.pi                #PI表示无理数3.14
    area=PI * (math.pow(r,2))   #math.pow用于计算半径平方数
    return area                 #函数返回面积值

最后我们把圆面积保存到area变量里,并用print()格式化输出圆的面积值,保留2位小数。

area=Area(r)                    #圆面积保存到area变量里
# 调用方法
print("圆的面积为 %.2f" % area) #输出圆面积,保留2位小数

我们把计算圆的面积公式python代码汇总如下:

# -*- coding: utf-8 -*-
"""
计算圆的面积
"""
import math
# 定义一个方法来计算圆的面积
def Area(r):
    PI = math.pi                #PI表示无理数3.14
    area=PI * (math.pow(r,2))   #math.pow用于计算半径平方数
    return area                 #函数返回面积值
r=5                             #r是圆的半径,这里设置为5
area=Area(r)                    #圆面积保存到area变量里
# 调用方法
print("圆的面积为 %.2f" % area) #输出圆面积,保留2位小数

假设圆半径为5,调用Area(5)函数后,算出圆面积为78.54。

area=Area(5)   #圆面积保存到area变量里
# 调用方法
print("圆的面积为 %.2f" % area) #输出圆面积,保留2位小数
圆的面积为 78.54

假设圆半径为6,调用Area(6)函数后,算出圆面积为113.10。

area=Area(6)   #圆面积保存到area变量里
# 调用方法
print("圆的面积为 %.2f" % area) #输出圆面积,保留2位小数
圆的面积为 113.10

假设圆半径为10,调用Area(10)函数后,算出圆面积为314.16。

area=Area(10)   #圆面积保存到area变量里
# 调用方法
print("圆的面积为 %.2f" % area) #输出圆面积,保留2位小数
圆的面积为 314.16

这一节我们学习了如何运用python的math模块来求圆的面积,math模块包含诸多数学公式,可以做大量科学计算。大家下来要勤加练习。

https://study.163.com/provider/400000000398149/index.htm?share=2&shareId=400000000398149(博主视频教学主页)

标签:__,Area,area,python,面积,模块,圆面积,math
来源: https://www.cnblogs.com/webRobot/p/13052247.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有