> 백엔드 개발 > 파이썬 튜토리얼 > Python 표준 라이브러리(math 패키지, Random 패키지)의 수학과 난수에 대한 자세한 설명

Python 표준 라이브러리(math 패키지, Random 패키지)의 수학과 난수에 대한 자세한 설명

零下一度
풀어 주다: 2017-05-20 14:51:08
원래의
2422명이 탐색했습니다.

지금까지 Python의 가장 기본적인 수학 연산 함수를 Python 연산에서 살펴보았습니다. 또한 수학 패키지에는 기능이 더 추가되었습니다. 물론, 더 고급 수학 함수를 원한다면 표준 라이브러리 외부의 numpyscipy 프로젝트를 선택하는 것을 고려해 볼 수 있습니다. 배열 및 행렬 연산을 지원할 뿐만 아니라 풍부한 수학 및 물리 방정식을 사용할 수 있습니다.

또한 랜덤 패키지를 사용하여 난수를 생성할 수 있습니다. 난수는 수학적 목적으로 사용될 수 있을 뿐만 아니라 알고리즘 효율성을 높이고 프로그램 보안을 향상시키기 위해 알고리즘에 포함되는 경우가 많습니다.

수학 패키지

수학 패키지는 주로 수학 관련 연산을 처리합니다. math 패키지는 두 개의 상수를 정의합니다:

math.e   # 自然常数e
math.pi  # 圆周率pi
로그인 후 복사

또한, math 패키지에는 다양한 연산 기능도 있습니다 (다음 함수의 기능은 수학 매뉴얼을 참고하세요):

math.ceil(x)       # 对x向上取整,比如x=1.2,返回2
math.floor(x)      # 对x向下取整,比如x=1.2,返回1
math.pow(x,y)      # 指数运算,得到x的y次方
math.log(x)        # 对数,默认基底为e。可以使用base参数,来改变对数的基地。比如math.log(100,base=10)
math.sqrt(x)       # 平方根
 
三角函数: math.sin(x), math.cos(x), math.tan(x), math.asin(x), math.acos(x), math.atan(x)
로그인 후 복사

이러한 함수는 모두 라디안 x(라디안) 단위를 매개변수로 받습니다.

아아앙

랜덤패키지

의사 난수의 원리를 이미 이해했다면 다음을 사용할 수 있습니다.

角度和弧度互换: math.degrees(x), math.radians(x)
双曲函数: math.sinh(x), math.cosh(x), math.tanh(x), math.asinh(x), math.acosh(x), math.atanh(x)
特殊函数: math.erf(x), math.gamma(x)
로그인 후 복사

난수 생성기 의 시드를 변경합니다. 원칙을 이해하지 못한다면 시드를 구체적으로 설정할 필요가 없습니다. Python이 시드를 선택해 줍니다.

1) 무작위 선택 및 정렬

random.seed(x)
로그인 후 복사

2) 무작위로 실수생성

아래에서 생성된 실수는 균일분포를 따르므로 특정 범위 내의 모든 숫자가 동일한 확률로 나타납니다. :

random.choice(seq)   # 从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。
random.sample(seq,k) # 从序列中随机挑选k个元素
random.shuffle(seq)  # 将序列的所有元素随机排序
로그인 후 복사

아래 생성된 실수는 다른 분포를 따릅니다. 이러한 분포를 이해하기 위한 통계 서적):

random.random()          # 随机生成下一个实数,它在[0,1)范围内。
random.uniform(a,b)      # 随机生成下一个实数,它在[a,b]范围内。
로그인 후 복사

그 밖에 로그분포, 정규분포, 파레토분포, 와이블분포 등이 있습니다. 다음 링크를 참고하세요.

docs.python.org/library/random.html
로그인 후 복사

假设我们有一群人参加舞蹈比赛,为了公平起见,我们要随机排列他们的出场顺序。我们下面利用random包实现:

import random
all_people = ['Tom', 'Vivian', 'Paul', 'Liya', 'Manu', 'Daniel', 'Shawn']
random.shuffle(all_people)for i,name in enumerate(all_people):    print(i,':'+name)
로그인 후 복사

【相关推荐】

1. 分享Python中random模块生成随机数的实例教程

2. Python random() 函数的实例教程

3. 分享一篇Python中random(随机生成数)的实例教程

4. 分享Python random生成某区间内不重复的N个随机数的方法实例

5. Python random模块(获取随机数)常用方法和使用例子

6. Python random模块常用方法

7. Python 模块学习:random 随机数生成

위 내용은 Python 표준 라이브러리(math 패키지, Random 패키지)의 수학과 난수에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿