在小学阶段背过圆周率的同学对这节的标题应该不陌生。π(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. echarts做折线图

    先给大家看图 父组件      <el-container v-show="abscissa">         <lineEchart           :C ...

  2. [SWPUCTF 2021 新生赛]easy_md5

    打开靶场可以看到一串代码,进行代码审计我们可以知道这个网页包含了一个叫flag2.php的文件,如果想要得到这个文件就得进行GET传参和POST传参. 并且这里用到一个MD5绕过,传参的值不能相等,但 ...

  3. IceRPC之依赖注入>快乐的RPC

    作者引言 很高兴啊,我们来到了IceRPC之依赖注入>快乐的RPC,基础引导,打好基础,才能让自已不在迷茫,快乐的畅游世界. 依赖注入和IceRPC 了解 IceRPC (C#) 如何为依赖注入 ...

  4. C#.NET AES CBC 加密

    重点: 1. KEY 和 IV 转 byte[] 时的编码. 2.要加密的字符串转 byte[] 时的编码. 3.AES 的PADDING,MODE. 4.加密后的byte[] 转字符串时的编码. 先 ...

  5. == 和 equals 的区别是什么

    == : 它的作用是判断两个对象的地址是不是相等.即,判断两个对象是不是同一个对象.(基本数据类型 == 比较的是值,引用数据类型 == 比较的是内存地址) equals() : 它的作用也是判断两个 ...

  6. HDU1010第一道DFS

    DFS就是深度搜索算法....感觉就像破案一样.... #include<iostream> #include<cstdio> #include<cstring> ...

  7. 解读MySQL 8.0数据字典的初始化与启动

    本文分享自华为云社区<MySQL全文索引源码剖析之Insert语句执行过程>,作者:GaussDB 数据库. 本文主要介绍MySQL 8.0数据字典的基本概念和数据字典的初始化与启动加载的 ...

  8. 如何免费在 arm 官网上下载合适的手册

    背景 有时候搞底层配置的时候(尤其是uboot),需要查阅文档. 这里介绍如何在arm 官网进行查找下载,这样就可以不用去 CSDN 了. 实际上CSDN上的一些文档就是这样下载下来二次收费的,强烈谴 ...

  9. selenium窗口之间的切换

    import time from selenium.webdriver import Edge from selenium.webdriver.common.by import By from sel ...

  10. xpath-猪八戒网服务商名称爬取

    import requests from lxml import etree url = 'https://changsha.zbj.com/xcxkfzbjzbj/f.html?fr=zbj.sy. ...