Python语言程序设计CAP

计算机的概念,功能性和可编程性

一、程序设计语言

  1. 程序设计语言,也叫编程语言,是计算机能够理解和识别操作的一种交互体系。

最好的程序设计语言是人类的自然语言。但自然语言不能够作为计算机程序设计语言:1)存在表达歧义;2)文学色彩浓厚

  1. 程序设计语言的种类

1)机器语言:01代码,CPU认识的语言。例:2+3运算 1101001000111011

2)汇编语言:在机器语言上增加了人类可读的助记符。例:2+3运算 and 2, 3, result

3)高级语言:向自然语言靠近的语言,又分为编译和解释语言。 例:2+3运算 result=2+3

4)编译:将高级语言源代码转换成目标代码(机器语言),程序便可执行。

高级语言源代码——编译器——机器语言代码——(输入——程序执行——输出)

5)解释:将源代码逐条转化成目标代码同时逐条运行,每次运行程序都需要源代码和解释器。

高级语言源代码(输入)——解释器——输出

6)编译和解释对比

编译的好处:目标代码执行速度更快;目标代码在相同操作系统上使用灵活

解释的好处:便于维护源代码;良好的可移植性

编译执行的编程语言叫做静态语言,如C,Java语言等

解释执行的编程语言叫做脚本语言,如PHP,JavaScript等。Python语言是典型的脚本语言。

  1. python语言

python语言是通用语言,脚本语言,开源语言,跨平台语言,多模型语言

开发环境配置

二、程序的基本编写方法

IPO模式 Input Process Output

问题的计算特性:现实生活中的问题——抽象出可计算部分——计算特性——(输入——处理——输出)

程序编写的步骤:

1)分析问题:分析问题的可计算部分

2)确定问题:将计算部分划分为确定的IPO三部分

3)设计算法:完成计算部分的核心处理方法

4)编写程序:实现整个程序

5)调试测试:使程序在各种情况下都能够正确运行

6)升级维护:使程序长期正确运行,适应需求的微小变化

温度转换程序实例

问题:如何利用python程序进行摄氏度和华氏度的转化

步骤一:分析问题的计算部分,摄氏度和华氏度的转换方程式

步骤二:确定功能,使用IPO方法进一步分析

(输入:华氏或摄氏温度值、温度标识——处理:温度转换算法——输出:华氏或摄氏温度值、温度标识)

F表示华氏度,82F表示华氏度82度;C表示摄氏度,28C表示摄氏度28度

步骤三:设计算法

根据华氏和摄氏温度定义,单位刻度对应温度关系的转化公式:

C=(F-32)/1.8;F=Cx1.8+32

步骤四:编写程序

步骤五:调试、运行程序

在系统命令行上通过如下命令执行程序:C:\python TempConvert.py

或者:使用IDLE打开上述文件,按F5运行(推荐)

步骤六:升级维护

三、Python程序元素分析

  1. Python语法元素

注释、输入、缩进、输出、变量、分支、常量、循环、表达式

缩进:1个缩进=4个空格,是用以在Python中表明代码之间的层次关系;是表明程序框架的唯一手段

温度转换程序分析:

第一行是注释语句 # TempConvert.py

注释是程序员在代码中加入的辅助说明信息,它不能被计算机执行,也不受语法约束,可以在里面写入任何内容。一般来说,注释用来帮助程序员记录程序设计方法,辅助程序阅读。

注释的两种方法:

1)单行注释已#开头

2)多行注释以’’’开头和结尾

程序中出现的 val、f、c被称为变量

变量是程序中最常使用,能够表示值得一个名称。变量所表示得值是可以变化的。

命名 指给程序中自定义元素关联名字的过程,命名需要保证在程序中,名字具有唯一性。命名需要符合如下规则:

命名规则使用大小写字母、数字和下划线的组合,但首字母只能是大小写或下划线,不能使用空格。中文等非字母符号也可以作为名字。合法命名的标识符,例:python_is_good、it_is_a_question、python语言等。

注:Python有33个保留字,用户定义变量的时候不能和保留字相同。

and as assert break class continue def del elif else escept finally for from globall if import in is lambda nonlocal not or pass raise return try while with yield True False None

第二行是输入函数的表达式 val=input(“temperature(ex:32C):”)

表达式指程序中产生或计算新数据值的一行代码。Python语言的33个保留字或者操作符可以产生符合语法的表达式。

如,>>>x=25,表示将数字25赋值给变量x

空格的使用:表示缩进关系的空格不能改变,空格不能将一个命名分割。除这两条外,程序中可以任意使用空格增加程序可读性。

输入函数:input()函数从控制台获得用户输入。使用方法如下:<变量>=input(<提示性文字>),获得的用户输入以字符串形式保存在<变量>中。字符串是一种数据类型,用来记录文本的信息。

例:如果val=”28C”,则val[-1]表示最后一个字符”C”,前两个字符组成的子串可以用val[0:2]表示,它表示一个从[0,2)的区间。由于约定用户输入的最后一个字符串是C或者F,之前是数字,所以通过val[0:-1]来获取除最后一个字符外的字符串。

第三行if语句是分支语句 if val[-1] in [‘C’,‘c’]:

分支语句用来根据判断条件选择程序执行的不同路径。基本过程如下:

if <条件1成立>

<表达式组1>

elif <条件2成立>

<表达式组2>

……

elif <条件N-1成立>

<表达式组N-1>

else:

<表达式组N>

保留字in是一个二元关系操作,用来判断左侧内容是否在右侧的集合中。

赋值语句:使用等号给变量赋值 f=1.8 x float(input_str[0:-1]) + 32

同步赋值语句:同时给多个变量赋值(先运算右侧N个表 达式,然后同时将表达式结果赋给左侧),如<变量1>,…,<变量N>=<表达式1>,…,<表达式N>

输出函数:print()函数用来输出字符信息,或以字符形式输 出变量。
print()函数可以输出各种类型变量的值。
print()函数通过%来选择要输出的变量。

实例:用户输入两个数字,计算它们的平均数,并输出 平均数

num1=input(“The first number is”)

num2=input(“The second number is”)

avg_num=(float(num1)+float(num2))/2

print(“The average number is %f” % avg_num)

循环语句:控制程序运行,根据判断条件或计数条件确定 一段程序的运行次数

计数循环,基本过程如下

for i in range (<计数值>):

<表达式1>

例如,使某段程序连续运行10次

for i in range (10):

<源代码>

其中,变量i是用于计数