python程序设计思想与方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序构件:注释
程序中可以使用注释,用于解释变量用途,函数功 能等等信息.
# Author: John # Version: 1.0 def main():
....
注释是给人看的,对程序执行没有作用,被编译器/ 解释器忽略.
良好的编程风格:多用注释!
文件存储形式举例
程序模拟物理现象: chaos程序(英参1) 文件形式的程序输入:IDLE—File—New Window
版本:教材和上课都采用Python 2.7
与最新的Python 3.x有不兼容的地方.
安装后,启动Python解释器
IDLE (python GUI)
第一个程序: HelloWorld
交互执行方式 >>> print "Hello, World!" Hello, World!
本课程的教学中常用交互方式演示新语句 实际上很少用交互方式执行程序
通过参数传递,
可以输出不同的内容。
>>> def greet(person):
print "Hello", person
print "How are you? "
>>> greet("Terry") Hello Terry How are you?
>>> greet("Mary") Hello Mary How are you?
➢ 计算与计算机 ➢ 程序设计语言 ➢ 初识Python
Python
free, open source 比较新(1980),比较流行
released in 1991 by Guido van Rossum(荷兰) 高级语言、编译/解释混合型 语法结构清晰,工具库丰富
Python安装与运行
标识符(变量名): Python命名
以字母或下划线开头,后跟0个或多个字母、数字、下划 线。区分大小写字母。
合法: x xYz x_123 _ __ _w3 非法: 3q x-123 first name
良好的命名风格:有意义,风格一致
程序构件:表达式
表达式:能计算出一个值
字面值: 3.14, “hello” 变量 数据+运算符(如 ) >>> 2+3*4-5
程序设计 思想与方法
➢教学安排
课时安排:
讲课 (看课表) 上机(双周周三的上课时间,电院4-311)
作业:
平时作业 + 大作业
➢课程考核
去年课程成绩的组成为:
考试 50% 大作业 20% 平时 30%
闭卷考试
教材
《程序设计思想与方法——问题求解与计算思维》 陆朝俊,高教出版社, 2013.10.
➢ 程序设计是什么?
1、写一篇英文作文 2、阅读对象:计算机 3、目的:让计算机按照你的命令完成一系列的任务
➢ 程序设计是什么?
英文作文
int main() { float a, b, c, x1, x2, dlt; cout << “input 3 parameters:”;
cout << “input a:”;
本章作业
多次执行同一程序需要多次输入程序,无法存储 多行语句无法一次性执行
Python语言的基本成分
>>> print "Hello, world" Hello, world >>> print 2+3 5 >>> print "2+3=", 2+3 2+3= 5 >>> name=“lixiu” >>> name lixiu >>> a=2*3 >>>a 6 >>>a=100.1 >>>a 100.1
一条Intel 8086处理器的机器指令: 0000000000000001
是机器的母语。每种计算机都有自己的机器语言。与 计算机硬件设计有关。
每个语句用一组二进制数表示 用机器语言写程序是非常困难的,读机器语言写的程
序也是非常困难的 机器语言提供的功能非常简单
汇编语言
MOV AL, 1
用缩写和助记符代替机器语言的0和1的比特串 和机器语言一样,不同类的机器有不同的汇编语言 汇编程序:将汇编语言写的程序翻译成机器语言的程序 解决了机器语言的可读性问题,但没有解决功能简单的问题
运算符
不同类型的数据有不同运算 运算符有优先级
良好编程风格:用空格,括号增加表达式的可读性
程序构件:语句
语句是编程语言提供的基本命令 输出语句
我们用语句模板来给出正确用法 print <表达式> print <表达式1>,<表达式2>,...
赋值语句
>>> x = 3.14 >>> print x * 10
Module File(源文件/源程序)
程序注释 函 数
调用函数
注:python文件以 .py 为后缀。
程序的执行
(1)找到相应的目录下的文件名,双击执行 (2)打开python编译器,通过file菜单打开chaos文件,然后通
过Run菜单运行。
(3)导入的方式 >>> import chaos >>>chaos
import math # Makes the math library available. cin >> a ;
def main():
cout << “input b:”;
程序设计语言不一样导致语法不一样, print "This program finds the real solutions to a quacidnra>t>icb";
以及可移植性问题,不同的处理器之间不具兼容性
高级语言
X=1
类似于英语的语言,适合于人理解 在构造形式和意义方面具有严格定义,从而避免了语言
的歧义性 高级语言与计算机硬件没有关系,用高级语言写的程序
可以移植到各种计算机上执行
高级语言
高级程序设计语言有很多种,2008年网上被引用 最多的10个语言是(按字母顺序): C,C++,C#, Java,JavaScript,Perl, PHP,Python, Ruby,SQL
程序的基本组成: 数据(被处理的信息):
数字(Numbers):3,3.4 字符串(Strings): ‘abc’,”lixiu”
变量(Variables):name,a 表达式:+、-、*、/ 语句 函数 注释
程序构件: 变量
和数学类似:用一个名字表示可变的数据
数学中多用单字母,程序中多用单词/词组
程序构件:函数
多条语句序列构成一个整体,并命名 >>> def hello():
print "Hello" print "Computers are Fun"
>>> 第一个语句定义了一个函数,函数名hello 后面的语句称为函数体 最后空行 (hit enter twice) 表示hello函数结束
if (dlt >= 0)
——计算机科学(computer science) discRoot = math.sqrt(delt)
root1 = (-b + discRoot) / (2 * a)
{
root2 = (-b - discRoot) / (2 * a)
x1 = (-b + sqrt(dlt)) / 2 / a;
cout << “input c:”;
但解题思路、思维方式是一样的 a, b, c = input("Please enter the coefficients (a, b, c)in: >")> c ;
delt=b*b-4*a*c
dlt = b* b – 4 * a * c;
if delt>=0:
http://www.python.org/
建议使用 python 2.7.*版
ftp://public.sjtu.edu.cn/ 用户名:lxyao 密码:public 有课件、参考书的电子版 建议用FlashFXP软件打开ftp网页
第1章 计算与计算思维
➢ 计算与计算机 ➢ 程序设计语言 ➢ 初识Python
参考书
Python Programming: An Introduction to Computer Science. (电子版) How to Think Like a Computer Scientist— Learning with Python.(电子版)
所用程序设计语言(软件):
官方网站:
print main()
return 0; }
raw_input()
什么是计算机科学(CS)?
计算:针对一个问题,设计出解决问题的程序 (指令序列),并由计算机来执行这个程序。
计算机科学并非研究计算机! 正如天文学不是研究天文望远镜
CS研究计算的基础,实现与应用。
本课程的学习目标:像计算机科学家一样思考。
先用任何文本编辑器建立一个文本文件,内容是添加的目录路径,存 为*.pth的文件;
然后将这个文件复制到python的安装目录下的指定子目录 “…python27\Lib\site-packages”中
想添加多个路径的,分行记录各路径
本章小结
本章目标 计算与计算机 编程语言 初识Python
函数的执行
>>> def hello(): print "Hello" print "Computers are Fun"
>>> hello() #函数的调用 Hello Computers are Fun
>>>
注意:(1) ()不能省略,否则当成变量 (2) ()内能带参数
带参数的函数
函数名( … )
人与计算机进行交流的一种语言,告诉计算机该做什么 为什么不用自然语言与计算机交互?
精确的语法和语义 无二义性
I saw the man in the park with the telescope. 有不同层次的程序设计语言
12
不同层次的程Байду номын сангаас设计语言
机器语言 汇编语言 高级语言
机器语言
本课程采用Python语言
语言的翻译
将高级语言的程序翻译成机器语言才能执行程序
编译执行:将过程化语言写的程序(源代码)翻译成 机器语言的程序(目标代码)
解释执行:逐句解释源程序并执行,不保存目标代码。
编译执行
源代码
编译器
目标代码
输入数据
处理器
输出
解释执行
源代码
解释器
输入数据
处理器
输出
第1章 计算与计算思维
(4)C:\Python27> python D:\mypython\chaos.py
解决办法二:临时性的添加路径 (4)>>>import sys
>>>sys.path.append(D:\mypython)
添加python的路径
解决办法三:永久性的添加路径
预先将D:\mypython添加到python的搜索路径中,是系统根据文件名 就能找到程序文件
x2 = (-b - sqrt(dlt)) / 2 / a;
print "The solutions are:", root1, root2
cout << x1 << x2;
else: print print "delt<0,no root."
} else
cout << “no root”;
(3)chaos.py必须在python程序的 同一个目录下才能直接用
>>> import chaos >>>chaos
(4)DOS下的命令语句方式 C:\Python27> python hello.py
添加python的路径
系统必须知道到哪里去找那个文件
解决办法一:在文件名前面加上绝对路径 (3) >>> import D:\mypython\chaos
(4)DOS下的命令语句方式 C:\Python27> python hello.py
程序的执行
This program illustrates a chaotic function
Enter a number between 0 and 1: .5 0.975 0.0950625 0.335499922266 0.869464925259 0.442633109113 0.962165255337 0.141972779362 0.4750843862 0.972578927537 0.104009713267
程序设计/计算机语言
计算的关键是程序设计(编程).
给定一个问题,利用计算机支持的操作,设计出一个操 作步骤的序列,计算机执行这个序列从而解决问题。
为了告诉计算机应该执行什么指令,需要使用某种计算 机语言
第1章 计算与计算思维
➢ 计算与计算机 ➢ 程序设计语言 ➢ 初识Python
程序设计语言