在小学阶段背过圆周率的同学对这节的标题应该不陌生。π(3.14159…)是大家熟悉的普通无理数,但也是非常神秘的一组数字,例如几个世纪以来,埃及考古学家和神秘主义追随者一直痴迷于胡夫金字塔暗藏的圆周率之谜。因为该金字塔的塔基周长和高的比例是 1760/280,离 2π 只有小于 0.05%的差距。另外,它在许多电影里面也出现过,作为推动剧情的重要元素,甚至有一部美国惊悚电影直接以《圆周率》命名,而且这部电影还获得了1998 年的圣丹斯国际电影节剧情片导演奖。每年的3月14日被定为“圆周率日”,在 2019 年联合国教科文组织第四十届大会上正式宣布每年的 3 月 14 日是“国际数学日”。

从古到今,数学家们都在对圆周率的计算孜孜以求。出现了众多计算方法。其中印度数学家尼拉坎特哈发现的一个可用于计算圆周率π近似值的无穷级数(尼拉坎特哈级数)算是比较简单的了。该级数的展开公式如下:

π
=

3
+

4

2
×
3
×
4

4

4
×
5
×
6

+

4

6
×
7
×
8

4

8
×
9
×
10

+

4

10
×
11
×
12

π = 3 + {4} over {2 × 3 × 4} − {4} over {4 × 5 × 6} + {4} over {6 × 7 × 8} − {4} over {8 × 9 × 10} + {4} over {10 × 11 × 12} …

这个级数的收敛比较快,按照规律迭代计算若干次,结果就与π值非常接近。在python的IDLE环境下输入是这样的:

>>> 3+4/(2*3*4)-4/(4*5*6)+4/(6*7*8)-4/(8*9*10)+4/(10*11*12)

3.1427128427128426

那么julia该怎样输入呢?这里首先要介绍一下数学表达式和运算符了。实际上,大多数编程语言中,表达式都是一项基础功能,而且基本由操作数、运算符和括号等组成,它的书写方式、运算符、运算顺序等与数学中的基本一致。

算术表达式是通过算术运算符来运算的,又称为数值表达式。这里列举了基本的算术运算符和使用示例,见表:

描述

Python

julia

说明

加法运算

+

+

减法运算

乘法运算

*

*

除法运算

/

/

取模运算,返回除法的余数

%

%

整除运算(截断除法)

//

div

Python:12//10=1

Julia:div(12,10)=1

幂运算,返回x的y次幂

**

^

Python:a**2=4

Julia:a^2=4

简单来说,julia和python大多数运算符是相同的。所以,上面的圆周率计算,用julia来计算也与python基本上没什么差别:

julia> 3+4/(2*3*4)-4/(4*5*6)+4/(6*7*8)-4/(8*9*10)+4/(10*11*12)

3.1427128427128426

不过使用手工输入算式计算圆周率,仍然比较麻烦。在学习了后面的课程循环结构的程序设计之后,就可以编写程序自动进行计算,充分发挥计算机的优势。

对比python学julia(第一章)--(第三节)山巅一寺一壶酒的更多相关文章

  1. 路飞学城-Python爬虫集训-第一章

    自学Python的时候看了不少老男孩的视频,一直欠老男孩一个会员,现在99元爬虫集训果断参与. 非常喜欢Alex和武Sir的课,技术能力超强,当然讲着讲着就开起车来也说明他俩开车的技术也超级强! 以上 ...

  2. python全栈第一章

    第一章 Python基础变量定义规则:1.变量名只能是字母数字或者下划线的任意组合2.变量名的第一个字符不能是数字3.关键字不能申明为变量名定义方式:1.驼峰体AgeOfSzp2.下划线隔开Age_o ...

  3. 《零压力学Python》 之 第一章知识点归纳

    第一章(初识Python)知识点归纳 Python是从ABC语言衍生而来的 ABC语言是Guido参与设计的一种教学语言,为非专业编程人员所开发的. Python是荷兰程序员 Guido Van Ro ...

  4. 路飞学城Python爬虫课第一章笔记

    前言 原创文章,转载引用务必注明链接.水平有限,如有疏漏,欢迎指正. 之前看阮一峰的博客文章,介绍到路飞学城爬虫课程限免,看了眼内容还不错,就兴冲冲报了名,99块钱满足以下条件会返还并送书送视频. 缴 ...

  5. 《python可以这样学》第一章

    一.Python基础 查看Python版本 Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 22:22:05) [MSC v.1916 64 bit (AM ...

  6. python学习心得第一章

    初始python 1什么是程序 计算机程序是一组执行某种动作的的指令.和那些电路.芯片.显卡.硬盘等不同,它不是计算机本身可以触摸的部分,而是隐藏在背后运行在硬件上面的东西.程序就是一系列告诉没有知觉 ...

  7. Python基础教程-第一章-变量、函数、字符串

    1.1变量 变量基本上就是代表(或者引用)某个值的名字,举例来说,如果希望用x代表3,只需要执行下面的语句即可: >>>x = 3 这样的操作称为赋值(assignment),值3赋 ...

  8. Python开发【第一章】:Python简介和入门

    Python简介 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC 语言的一种继承. ...

  9. Python 学习系列----第一章:基础知识

    1.1 常量-----不能改变它的值 1.2 数 在Python 中数可以分为整数.浮点数和复数. PS:在Python中不用区分'long int'类型.默认的整数类型可以任意长.(译者注:长度应该 ...

  10. python入门课程 第一章 课程介绍

    1-1 Python入门课程介绍特点:    优雅.明确.简单适合领域:    web网站和各种网络服务    系统工具和脚本    作为"胶水"语言把其他语言开发的模块包装起来方 ...

随机推荐

  1. 使用python在k8s中创建一个pod

    要在Kubernetes (k8s) 中使用Python创建一个Pod,你可以使用Kubernetes Python客户端库(通常称为kubernetes或kubernetes-client).以下是 ...

  2. redhat8连接xshell命令卡顿

    取消下方  转发x11连接到(X) 再重新连接一遍 就好了

  3. 『手撕Vue-CLI』拷贝模板

    开篇 经过上篇文章的介绍,实现了可以根据用户选择的模板名称加上对应的版本号,可以下载对应的模板,并且将下载之后的文件存放在用户目录下的 .nue-template文件夹中. 接下来这篇文章主要实现内容 ...

  4. react 属性绑定动态值

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. Java中可以用的大数据推荐算法

    在Java中实现大数据推荐算法时,通常会使用一些开源的机器学习库,如Apache Mahout.Weka.DL4J(DeepLearning4j,用于深度学习)或者Spark MLlib(用于在Spa ...

  6. java 日期 时间

    方法一(线程不安全, 不建议使用)private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss" ...

  7. java中判断一个String字符串或字符数组中包含某个字段

    /** * 判断String字符串中包含某个字段 * @param oriStr 原始字符串 * @return */ private static boolean findString(String ...

  8. R语言求取大量遥感影像的平均值、标准差:raster库

      本文介绍基于R语言中的raster包,批量读取多张栅格图像,对多个栅格图像计算平均值.标准差,并将所得新的栅格结果图像保存的方法.   在文章基于R语言的raster包读取遥感影像中,我们介绍了基 ...

  9. 使用allparis正交法,生成测试用例

    原文:https://www.csdn.net/tags/MtzaggysODU0NTItYmxvZwO0O0OO0O0O.html 介绍工具前先讲下理论知识正交法一般适用于多个输入条件且条件与条件之 ...

  10. zabbix数据库

    1. 安装MySQL 5.6 操作系统为CentOS7 X64 MySQL文件下载地址 http://dev.mysql.com/downloads/repo/yum/ 卸载已存在文件 rpm -qa ...