上海交通大学 python程序设计课程PPT Ch9

合集下载

《Python语言程序设计课件》

《Python语言程序设计课件》
分布式计算
使用Dask、Vaex等库实现分布式计 算,处理超大规模数据集。
数据存储与访问
使用HDF5、Parquet等格式存储大 规模数据,实现高效读写。
04
06
Python在人工智能领域的应用
机器学习算法实现
线性回归、逻辑回归等预 测模型
K-means、层次聚类等无 监督学习算法
决策树、随机森林等分类 模型
预测分析
根据建立的模型对数据进行预测,如时间序列预测、 分类预测等。
模型评估与优化
通过交叉验证、网格搜索等方法评估模型性能并进行 优化。
大数据处理与分布式计算
01
大数据处理
利用NumPy、Pandas等库处理大规 模数据集,提高计算效率。
并行计算
应用多线程、多进程等技术加速数 据处理过程。
03
02
Web开发
Python拥有众多优 秀的Web框架,如 Django、Flask等, 适用于Web应用开 发
数据科学
Python在数据分析、 数据挖掘、机器学习 等领域得到广泛应用
自动化运维
Python可以编写自 动化脚本,实现系统 管理和自动化运维
网络爬虫
Python可以编写网 络爬虫程序,用于数 据采集和信息提取
支持向量机、神经网络等 有监督学习算法
深度学习框架TensorFlow介绍
01
TensorFlow基 本概念及架构
02
神经网络模型 构建与训练
数据预处理与 特征工程
03
04
模型评估与优 化方法
自然语言处理技术应用
分词、词性标注等基础任务
词向量表示学习技术
文本分类、情感分析等高级 任务

Python语言程序设计ppt课件

Python语言程序设计ppt课件

•简单数据类型变量在用global保留字声明后,作为全局变量; •对于组合数据类型的全局变量,如果在函数内部没有被真实创
建的同名变量,则函数内部可直接使用并修改全局变量的值;
•如果函数内部真实创建了组合数据类型变量,无论是否有同名
全局变量,函数仅对局部变量进行操作。
ppt精选
26
lambda函数
Python的有33个保留字,其中一个是lambda,该保留字用于定义 一种特殊的函数——匿名函数,又称lambda函数。 匿名函数并非没有名字,而是将函数名作为函数结果返回,如下:
ppt精选
31
datetime库解析
使用datetime.now()获得当前日期和时间对象,使用 方法如下:
datetime.now()
作用:返回一个datetime类型,表示当前的日期和时 间,精确到微秒。
>>> from datetime import datetime
>>> today = datetime.now() >>> today datetime.datetime(2016, 9, 20, 10, 29, 43, 928549)
>>>n = 1 #n是全局变量
>>>def func(a, b):
global n
n=b
#将局部变量b赋值给全局变量n
return a*b
>>>s = func("knock~", 2) >>>print(s, n) #测试一下n值是否改变
knock~knock~ 2
ppt精选
23

Python程序设计导论PPT课件

Python程序设计导论PPT课件

1.3 Python语言版本和开发环境
• 2个主要版本:Python 2和Python 3 • Python 3在设计时,没有考虑向下兼容
• Python语言的实现:Python解释器 • 常用的Python实现:
• Cpython、Jython、IronPython、PyPy • Python语言的集成开发环境
1.2 Python语言概述
• 英音/ˈpaɪθən/,美音/ˈpaɪθɑːn/ • 是一种解释型、面向对象的编程语言 • 是一个开源语言,拥有大量的库,可以高效地开发各种应用程序 • Python语言的特点
• 简单、高级、面向对象、可扩展性、免费开源、可移植性、丰富的库、可嵌 入性
• Python语言的应用范围 • 操作系统管理、科学计算、Web应用、图形用户界面(GUI)开发、其他 (游戏开发等)
• 【例1.2】安装Python应用程序 • (1)双击下载的Windows格式安装文件python-3.10.1-amd64.exe • (2)在定制Python对话框窗口中,注意需要选中“Add python 3.10 to PATH”复选框 • (3)单击Install Now超链接,安装Python程序
按范式对编程语言分类
• 面向过程的编程语言 • FORTRAN、COBOL、Basic、Ada、Pascal、C
• 面向对象的编程语言 • Java、C#、C++、Smalltalk、Visual Basic
• 函数式编程语言 • Lisp、Scheme、Haskell、F#
• 逻辑式编程语言:Prolog • Python程序设计语言属于多范式编程语言
• 使用文本编辑器编写一个程序后,将文件保存到磁盘上,包含程序代码 的文件称之为源文件(source file)

Python大学教程ppt课件

Python大学教程ppt课件
• 在使用自定义异常类型时,经常需要在捕获异常的同时获取该异常的实
例(例如,上例中的e),以获取存储在异常实例中的数据(例如,付 款金额e.bill),这只需要在异常类型后以逗号分隔并放置一个实例名即 可。
异常的捕获
• 当异常发生时,就需要捕获并处理相应的异常。try...except语句是捕获
处理异常的常用语句之一,其语法如下:
自定义异常
• Python如同很多高级程序设计语言一样允许用户自定义异常类型,用于
描述Python异常体系中没有涉及的异常情况。通过前面的学习,可知除 3个系统级异常外,其他异常类型均是Exception子类;而定义一个自定 义异常也十分简单,只需要定义一个继承了Exception类的派生类即可。 Python不会自动为用户抛出或处理任何自定义异常,因而用户需要使用 raise语句在合理的场合手工触发异常。
自定义异常
• Python如同很多高级程序设计语言一样允许用户自定义异常类型,用于
描述Python异常体系中没有涉及的异常情况。通过前面的学习,可知除 3个系统级异常外,其他异常类型均是Exception子类;而定义一个自定 义异常也十分简单,只需要定义一个继承了Exception类的派生类即可。 Python不会自动为用户抛出或处理任何自定义异常,因而用户需要使用 raise语句在合理的场合手工触发异常。
异常的抛出
• 程序在运行过程中出现错误而无法正常运行时,会陷入异常。此外,
Python也为用户提供了raise关键字以人为地抛出指定类型的异常。
• 使用raise语句手动抛出异常在程序调试、自定义异常等场景下有诸多应
用。注意,Python不会自动引发自定义异常,这要求程序开发者为自定 义的异常编写合理的异常抛出代码 。

上交大《Python程序设计实用教程》教学资源 教学课件 模块1

上交大《Python程序设计实用教程》教学资源 教学课件 模块1
1.交互式启动和运行方法
交互式有两种启动和运行方法。 (1)启动Windows操作系统命令行工具(<Windows系统安装目录>\system32 \cmd.exe),在控制台中输入“python”并按Enter键,在命令提示符>>>后输入 如下程序代码: print("Hello World") 按Enter键后显示输出结果“Hello World”,如图1-6所示。在>>>提示符后输入 exit()或者quit()并按Enter键可以退出Python运行环境。

1.3 使用IDLE编写第一个
Python程序
1.4 实训
Part one
1.1 初识Python
1.1.1 Python简介
Python是一种面向对象的解释型计算机程序设计语言 ,由荷兰人Guido van Rossum于1989年发明,第一 个公开发行版发行于1991年。Python是纯粹的自由软 件,源代码和解释器CPython遵循GPL(GNU General Public License)协议。Python语法简洁清 晰,特色之一是强制用空白符(white space)作为语 句缩进。Python具有丰富和强大的库。它常被称为“ 胶水语言”,能够把用其他语言(尤其是C/C++)制 作的各种模块很轻松地连接在一起。
1.2.1 安装Python
(5)安装完 成,弹出 “Setup was successful” 界面(见图15),单击 Close按钮完 成安装。
Python安装包将 在系统中安装一 批与Python开发 和运行相关的程 序,其中最重要 的两个是Python 命令行和Python 集成开发环境 IDLE。

Python语言程序设计第九章文件课件

Python语言程序设计第九章文件课件
2023/10/20
7
文件的打开方式:
第9章 文件
打开方式
含义
rt 只读打开一个文本文件,只允许读数据
wt 只写打开或建立一个文本文件,只允许写数据
at 追加打开一个文本文件,并在文件末尾写数据
rb 只读打开一个二进制文件,只允许读数据
wb 只写打开或建立一个二进制文件,只允许写数据
ab 追加打开一个二进制文件,并在文件末尾写数据
11
2.文本文件的写入
第9章 文件
(1) write()方法
文件对象. write (字符串)
在文件当前位置写入字符串,并返回写入的字符个数。
>>>fp.open("e:\\file1.txt", "w")
>>>fp.write("Python")
6
(2) writelines()方法 文件对象. writelines (字符串元素的列表)
在文件的当前位置处依次写入列表中的所有元素。
>>>fp.open("e:\\file1.txt", "w")
>>>fp.writelines(["Python","Python programming"]
12
第9章 文件
【例9.1】把一个包含两列内容的文件input.txt,分割成两个 文件col1.txt, col2.txt ,每个文件一列内容。
代表一个字符,此种存储形式便于输出显示,在 DOS操作系统下可以直接阅读。
二进制文件 二进制文件 中的 数据 是按照在内存中的 二进制 存储格式存放的,此种存储形式节省存储单元。 二进制文件在DOS操作系统下不能直接阅读。

2024年Python语言程序设计课件

2024年Python语言程序设计课件

Python语言程序设计课件语言程序设计课件一、引言是一种面向对象的解释型计算机程序设计语言,由GuidovanRossum于1989年底发明,第一个公开发行版发行于1991年。

具有丰富和强大的库,它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。

在设计上坚持了清晰划一的风格,这使得成为一门易读、易维护,并且被大量用户所欢迎的编程语言。

二、语言特点1.易于学习:有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。

2.易于阅读:代码定义的更清晰。

3.易于维护:的成功在于它的是相当容易维护的。

4.一个广泛的标准库:的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。

5.互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动模式很方便调试。

6.可移植:基于其开放的特性,已经被移植(也就是使其工作)到许多平台。

7.可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的程序中调用。

8.数据库:提供所有主要的商业数据库的接口。

9.GUI编程:支持GUI可以创建和移植到许多系统调用。

10.可嵌入:你可以将嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力。

三、语言程序设计基础1.变量与数据类型变量是计算机语言中能存储计算结果或能表示值抽象概念。

变量可以通过变量名访问。

在中,变量就是代表一个对象的名字和地质。

数据类型是解释器根据变量的值来决定如何解释和存储变量的值的。

2.运算符与表达式算术运算符:用于基本的算术运算,如加法、减法、乘法、除法等。

比较(关系)运算符:用于比较两个变量的值,如等于、不等于、大于、小于等。

赋值运算符:用于将一个值赋给变量。

逻辑运算符:用于根据表达式的值返回True或False。

上海交通大学python程序设计课程PPT教案

上海交通大学python程序设计课程PPT教案
xpos = xpos + time * xvel yvel1 = yvel - 9.8 * time ypos = ypos + time * (yvel + yvel1)/2.0 yvel = yvel1 print "\nDistance traveled: %0.1f meters." % (xpos) main()
22
实例创建(2)
创建时对实例进行初始化
用构造器创建实例时,系统会自动调用__init__ 方法
通常在此方法中执行一些初始化操作 __init__所需的参数由构造器提供.
例如:
>>> from person import Person >>> p1 = Person("Lucy",2005)
假设一个问题涉及数据X和Y,对X要进行的 操作为f(),g(),对Y的操作为h()
面向过程设计和面向对象得到的程序分别形如
X = ... Y = ... f(X) g(X) h(Y)
XY f() h() g()
请求X执行f() 请求X执行g() 请求Y执行h()
11
第10页/共68页
复杂数据的表示
第6页/共68页
7Leabharlann 数据与操作:面向对象观点数据与操作不可分离
数据类型概念已经提示我们:特定数据值和特定 操作是不可分割的两件事情
Q:请问x+y是什么意思? A:+对不同类型的x,y值有不同意义.
既然如此,何不将特定数据值
与特定操作捆绑在一起,形成一
种新型"数据"?
由此产生了对象概第念7页/共68页
这个版本是"流水帐式的",没有"章法结构". 程序不长,倒有10个变量,为理解程序需要跟踪这10个数据的变化.

Python程序设计ppt课件

Python程序设计ppt课件

Python程序设计ppt课件•Python基础•控制流语句•函数与模块•面向对象编程目•文件操作与数据处理•常用库和工具介绍录01CATALOGUE Python基础1 2 3介绍Python的创始人、发展历程以及应用领域。

Python的起源与发展解释Python语言简洁、易读、可扩展等特点,以及其在数据分析、人工智能等领域的应用优势。

Python的特点与优势说明Python 2与Python 3的主要区别,以及为何推荐使用Python 3。

Python的版本与兼容性Python简介Python安装与配置安装Python解释器01介绍如何在不同操作系统上安装Python解释器,包括Windows、macOS和Linux。

配置Python开发环境02讲解如何配置Python的开发环境,如安装IDE或文本编辑器,并设置Python解释器路径。

解决安装与配置问题03提供一些常见问题的解决方案,如安装失败、环境变量配置错误等。

强调Python 中缩进的重要性,以及遵循PEP 8编码规范的意义。

编码规范与缩进解释Python 中变量的概念,以及如何为变量赋值。

变量与赋值介绍Python 中的基本数据类型,如整数、浮点数、字符串等,以及数据类型之间的转换方法。

数据类型与转换列举Python 中的运算符类型,包括算术运算符、比较运算符、逻辑运算符等,并给出相应的表达式示例。

运算符与表达式Python 基本语法详细介绍Python 中的整数类型和浮点数类型,包括它们的表示范围、精度以及相应的数学运算。

数字类型阐述Python 中字符串的表示方法、常用操作如连接、切片、查找、替换等,以及字符串的编码与解码。

字符串类型解释Python 中列表和元组的定义、特点和使用方法,包括元素的添加、删除、修改和遍历等操作。

列表与元组类型介绍Python 中字典和集合的基本概念、特点和使用方法,如键值对的存储与访问、集合的交并差集运算等。

上海交通大学python程序设计课程PPTCh课件

上海交通大学python程序设计课程PPTCh课件
–《程序设计思想与方法——问题求解与计算思维》 高教出版社, 2013.
• 参考书
–Python Programming: An Introduction to Computer Science. (电子版)
–How to Think Like a Computer Scientist— Learning with Python.(电子版)
celsius = input("What is the Celsius temperature? ") fahrenheit = (9.0/5.0) * celsius + 32 print "The temperature is ",fahrenheit," degrees Fahrenheit." main()
# Author: John # Version: 1.0 def main():
....
• 注释是给人看的,对程序执行没有作用, 被编译器/解释器忽略.
• 良好的编程风格:多用注释!
43
程序实例
#convert.py # A program to convert Celsius temps to Fahrenheit # by: Susan Computewell def main():
41
程序构件:函数
• 多条语句构成一个整体,并命名
>>> def greet(): print "Hello!" print "Goodbye!"
>>> greet() Hello! Goodbye!
• 习惯上为程序定义一个主函数main
42

大学课程《Python程序设计》PPT课件:第1章 初识Python

大学课程《Python程序设计》PPT课件:第1章 初识Python
常规软件开发 科学计算 系统管理与自动化运维 云计算 Web开发 游戏 网络爬虫 数据分析 人工智能
Python程序设计
1.2 搭建Python环境
1.2.1 Python下载和安装
Python已经被移植到许多平台上,例如Windows、Mac、Linux等主流平台,可以 根据需要为这些平台安装Python。在Mac和Linux系统中,默认已经安装了Python。 如果需要安装其他版本的Python,可以登录Python官网,找到相应系统的Python安 装文件进行安装。
Python程序设计
1.1 Python语言概述
1.1.1 Python语言的发展
Python语言诞生于1990年,由吉多.范罗苏姆(Guido van Rossum)设计并领导开 发。1989年12月,Guido考虑启动一个开发项目以打发圣诞节前后的时间,所以决定 为当时正在构思的一个新的脚本语言写一个解释器,因此在次年诞生了Python语言。 该语言以“Python”命名源于Guido对当时一部英剧“Monty Python' s Flying Circus”的极大兴趣。
【提示】
(1)打开PyCharm,新建一个名为:pythonProject的项目并且保 存在D盘根目录下。 (2)在pythonProject项目里新建一个名为:HelloChina的.py文件 。 (3)在HelloChina.py文件中输入代码:print("中国,我爱你!"), 如图1-32所示。 (4)在代码输入空白区域单击鼠标右键,选择Run命令执行代码, 在PyCharm下方的控制台可以看到“中国,我爱你!”已经被打印 输出了。
Python程序设计
1.4 Python程序的编写与运行

《Python语言程序设计课件》

《Python语言程序设计课件》

Python数据分析(N u m p y/Pand as )
1
数据导入
Python的数据分析库可以轻松将各种数据
数据转换
2
源导入进来,包括CSV、SQL、NoSQ L等 多种数据形式。
Python的数据分析库能够快速地对数据进
行规整、清洗、拆分等操作,方便后续
的分析。
3
数据分析
Python的数据分析库支持各种数据分析方 法,包括统计分析、机器学习、深度学 习等高级技术。
Matplotlib
Matplotlib是Python的一种图表库, 能够生成各种数据可视化图表, 包括折线图、饼状图等。
Python Web编程(Flask/Django)
Flask
Flask是Python的一种轻量级Web框架,能够快速搭 建可扩展的Web应用,适用于小型项目。
Django
D jang o是Python的一种全功能Web框架,支持数据 库、模板、路由等各种成熟的功能,适用于中大型 项目。
Python的元编程机制可以 让程序在运行时扩展自己 的功能,支持动态创建类、 函数等。
Python常用第三方库
Numpy
Pandas
Numpy是Python的一种数学库, 能够快速处理各种大型数据结构, 支持各种统计学方法。
Pandas是Python的一种数据分析 库,能够轻松处理数据的导入、 统计、转换等操作。
错误与异常处理
1 错误类型
Python的错误类型包括语法错误、逻 辑错误等,每种错误类型需要采用不 同的处理方式。
2 异常处理
Python的异常处理机制能够让程序在 发生错误时自动做出相应的响应,比 如记录日志、重新尝试、优雅退出等。

Python 程序设计:从基础开发到数据分析_PPT第9章 面向对象程序设计

Python 程序设计:从基础开发到数据分析_PPT第9章 面向对象程序设计
典型代表如:C语言、Basic语言等。
9.1.2 面向对象程序设计
面向对象程序开发,它以对象来构造现实世界中的事物情景,并基于类创建对象 来进一步认识、理解、刻画。通过类来创建对象,每个对象都会自动带有类的属性和 特点,然后可以按照实际需要赋予每个对象特有的属性,这个过程被称为类的实例化。
典型代表如:Java、C#、Python等。
人们将对象的静态特征抽象为属性,用数据来描述,在Python语言中称之为变 量。将对象的动态特征抽象为行为,用一组代码来表示,完成对数据的操作,在 Python语言中称之为方法。一个对象就是由一组属性和一系列对属性进行操作的方 法(即函数)构成的。
9.1.2 面向对象程序设计
所有面向对象编程的设计语言都有三大特征:封装、继承、多态。 (1)封装:指将对象的一些属性(数据)、行为的实现细节(代码的实现过程) 隐藏起来,然后通过一些公用方法来暴露该对象的功能,经过封装的数据能确保信息 的隐蔽性。
9.2 类的定义与使用
类(Class): 用来描述具有相同的属性和方法的对象的集合,称为类。它定义了 该集合中每个对象所共有的属性和方法。类是对象的抽象,对象是类的实例化。
Python用class关键字来定义类,class关键字之后是一个空格,接下来是类的名 字,类名的首字母一般要大写,一个类,由若干个属性(变量)、方法(函数)组 成。
第 9 章 面向对象程序设计
本章主要内容:
(1)面向对象程序设计:封装、继承、多态 (2)类的定义和实例化 (3)类的属性:类变量与实例变量 (4)类的方法:构造器、实例方法 (5)类的封装:公共变量与私有变量 (6)类的继承:父类与子类
9.1 程序设计的两种方法
9.1.1 结构化程序设计
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

– 测试多局
12
编程案例:模拟一场比赛
• 比赛也不是只打1局,而是采取三局两胜之类的 赛制:
def oneMatch(): gameOver = [(3,0),(0,3),(3,1),(1,3),(3,2),(2,3)] gameA = gameB = 0 while not (gameA,gameB) in gameOver: pointA, pointB = oneGame() if pointA > pointB: gameA = gameA + 1 else: gameB = gameB + 1 return gameA, gameB
4
随机现象的建模和模拟
• 随机事件:例如掷硬币
– 数学中用统计学,概率论研究随机现象 – 计算机利用模拟来研究
• 确定的程序要表现出随机性:
– 结果不可预测 – 结果的分布符合统计规律
if 模拟抛硬币的结果是正面: print "正" else: print "反"
5
随机数
• 如何用确定性的程序模拟非确定性?
10
编程案例:模拟一回合及得分
• 首先要能模拟一回合比赛,这是得分的基 本形式
if random() < 0.55: pointA = pointA + 1 else: pointB = pointB + 1
– 这是最终程序的核心功能 – 可以立即测试 – 测试10000回合,看看胜负概率
11
编程案例:模拟一局比赛
(1) 确认基本需求 (2) 创建原型 (3) 向用户演示或交付用户试用,获得反馈意见 (4) 改善原型,回到(3);重复(3)(4)直至用户最终认可
• 螺旋式开发过程:
原型的设计-实现-测试 改善版本的设计-实现-测试 ……
16
例:乒乓球比赛模拟程序
• • • • • 先能进行一回合比赛,并正确记分 扩展成完成一局比赛 扩展成多局比赛 增加交互式输入,格式化输出 完善比赛规则(20:20后要连得2分)
– 测试多场比赛
13
编程案例:完整程序
• 程序9.2:pingpong.py • 对执行结果的分析:
Player A's winning prob: 0.52 How many matches to simulate? 100 Rule: 21 points, best of 3 games. Wins for A: 74 (74.0%) Wins for B: 26 (26.0%) Rule: 11 points, best of 3 games. Wins for A: 68 (68.0%) Wins for B: 32 (32.0%)
模拟
不确定性
• 确定性程序:
– 程序多次执行时,只要输入一样,结果也一样 – 程序执行时只有一个控制流
• 不确定性程序:
– 程序多次执行时,即使输入一样,也会得到不 同结果 – 程序执行时有多个控制流并行执行
2
模拟
• 建模:建立描述现实的模型
– 抽象出现实的关键特征 – 表示为某种数学公式或结构 – 常用计算机来实现
if random() < p: print "A wins." else: print "B wins." random()
0
p
1
8
编程案例:乒乓球比赛模拟
• 问题:国际乒联将每局21分改成11分,能降 低中国选手获胜概率吗? • 我们采用一种与自顶向下设计不同的设 计方法:原型法(详后)
– 从程序基本功能出发,逐步完善
14
原型法
• 自顶向下设计方法的局限:
– 不了解全面需求,顶层设计困难 – 开发周期长
• 原型法(prototyping)
– 先开发一个简单版本,称为原型(prototype).
功能少(只有核心功能),界面简单
– 然后逐步完善功能(添加或修改功能),直至完 全满足程序规格.
15
螺旋式开发过程
• 应用原型法的步骤:
17
设计的艺术
• 螺旋式开发与自顶向下设计是互补的方 法.
– 如:原型可使用自顶向下设计
• 好的软件设计者会使用多种设计技术. • 通过实践学习软件设计.
18
End
19
• 掷硬币<====>randrange(1,3) 正 反 1 2
if randrange(1,3)==1: print "正" else: print "反"
if 模拟抛硬币的结果是正面: print "正" else: print "反"
7
用随机数函数模拟比赛
• 设A,B两个球员之间比赛的胜负概率分别 是 p和 1 p • 用random()模拟比赛:
– Monte Carlo算法:利用随机数生成函数 – 实际上是伪随机数
只要能给出相同的输入,就得到同样结果 但很难给出相同输入!
• random模块提供了伪随机数生成函数:
– randrange(s,e):生成指定范围内的一个 整数 – random():生成[0,1)间的一个浮点数
6
用随机数函数模拟掷硬币
• 比赛不是1分决胜负,而是由若干分构成一 局.假设采用21分制:
def oneGame(): pointA = pointB = 0 while pointA != 21 and pointB != 21: if random() < 0.55: pointA = pointA + 1 else: pointB = pointB + 1 return pointA, pointB
• 模拟:为实际问题建模,通过对模型的研究 来获得实际中难以获得的信息.
3编程实例:模拟混沌现象来自• 混沌现象:系统表现出不确定的行为,其特征是:
– 不可预测 – 对初始条件敏感
• 例:chaos.py
def main(): x = input("Enter a number between 0 and 1: ") for i in range(10): x = 3.9 * x * (1 - x) print x main()
9
编程案例:技术水平的表示
• 比赛胜负由球员的技术水平决定 • 我们用两个球员对阵时得1分的概率来表 示他们的技术水平
– 当A与B水平相当,则A拿下1分的概率是 50%,B拿下1分的概率也是50% – 如果A水平较高,拿下1分的概率是55%,则B 拿下1分的概率就只有45%
• 技术水平表示法是主观确定,关键是要符 合实际:还可考虑接发球,世界排名等.
相关文档
最新文档