第三单元 项目八第一课时 用列表表示和计算平均气温(共59张PPT)+教案

文档属性

名称 第三单元 项目八第一课时 用列表表示和计算平均气温(共59张PPT)+教案
格式 zip
文件大小 3.1MB
资源类型 试卷
版本资源 沪教版(2019)
科目 信息技术(信息科技)
更新时间 2020-10-13 16:26:55

文档简介

中小学教育资源及组卷应用平台
项目八
分析历史气温数据
———设计批量数据算法
第一课时
用列表表示和计算平均气温
■教材分析
“用列表表示和计算平均气温”这一小节,提供用于计算某日平均气温和某月平均气温的数据,引导学生利用Python语言编程求平均气温,学习使用列表存储批量数据的方法。
■教学目标
1、知识和技能
(1)学习使用列表存储批量数据的方法。
(2)掌握函数的定义和调用。
2、过程与方法
让学生在完成活动的过程中掌握批量数据的表示方法及在程序中使用批量数据的方法。
3、情感态度与价值观
(1)掌握批量数据的表示方法,产生对程序设计的求知欲,形成积极主动地学习态度;
(2)通过“自顶而下,逐步求精”的程序设计方法,感受批量处理数据的方法在程序设计中的重要思想。
■教学重点:
用列表存储批量数据。
■教学难点:
函数的调用。
■教学准备
计算机教室,Python,投影机。
■教学过程:
一.批量数据及其表示和操作
在实际的计算机处理问题的过程中,程序要处理的对象大多是大批量的相同数据类型的数据,如一次科学实验中获得的大量实验数据、关键搜索时获得的大量网页中所包含的单词和一个BMP图像中包含的像素点等,它们分别对应大量数值的集合、大量文本的集合和大量像素点对象的集合。程序设计语言支持批量数据的存储,用统一的名称管理一批数据,在内存上的存储空间是连续的。
对批量数据中数据项的访问可通过下标。例如,a[I],a[i]。下标的含义是与第一个数据项的偏移量,通常从0开始。
例如,
Color=["red","gren","blue"],Color[0]的值是"red",
Color[1]的值是"gren",Color[2]的值是"blue"。
与单变量数据相比,批量数据的优势在于:
一批批量数据只需定义一个名称,程序的通用性更强。而一个单变量只可以控制一个数据,使用单变量,程序可控制的数据的个数是固定的。
(2)使用方便,可以组织循环控制结构,通过控制下标的值控制一批数据。
高级语言都提供了对一批同类型的数据在程序中的表示方法,最常见的是数组。
Python
语言提供了更加便利的列表类型,其形式更灵活,操作功能更强。
Python语言中提供了对列表的一些通用操作,以实现对序列的索引、连接、复制、检测成员等,见下表。
Python列表的基本操作
操作


x1+x2
连接列表x1和x2,生成新列表
x
n
将列表x复制n次,生成新列表
x[i]
引用列表x中下标为i的列表成员,i从0开始计数
x[i:j]
引用列表x中下标从i到j-1的子列表
x[i:j:k]
引用列表x中下标从i到j-1、间隔为k的子列表
len(x)
计算列表x中成员的个数
max(x)
列表x中最大数据项
min(x)
列表x中最小数据项
v
in
x
检测v是否在列表x中,返回布尔值
v
not
in
x
检测v是否不在列表x中,返回布尔值
Python语言还提供了如下表所示方法,可以执行对列表的操作。
表Python列表的方法
方法


list.append(x)
把一个数据项添加到列表的结尾,相当于a[len(a):]=[x]
list.extend(L)
将一个列表中的所有数据项都添加到另一个列表中,相当于a[len(a):]=L
list.insert(i,x)
在指定位置插入一个数据项,如a.insert(0,x)会插入到整个列表之前,而a.insert(len(a),x)相当于a.append(x)
list.remove(x)
删除列表中值为x的第一个数据项;如果没有这样的数据项,就返回Flse
二、函数的定义和调用
在设计一个大的应用程序时,经常会发生实现类同功能的程序块在程序中多次反复出现的情况。如果单独编写这些程序块,供程序中各部分,甚至各应用程序共享使用,就可以减少编写代码的工作量,而且也便于修改和查看
Python语言提供了函数来实现有独立功能的程序块。
1.函数的定义
构造一个函数的思路与分析数学应用题有些类似,要知道已知什么和求什么。将已知条件放在参数中,在调用时通过参数传递得到,而所的值可通过函数的返回值返回。
函数定义的一般格式如下:
def函数名(<参数>):
函数体
函数的定义中一般都包含return语句,return语句的作用是结束函数的执行,返回一个值作为函数的返回值。返回值可以是简单的整型数据、浮点型、文本数据等,也可以是复杂的列表等,还可以没有返回值,仅仅结束函数的执行。
在本项目中,
getAvg函数的返回值是一个表示数据系列的平均值的浮点值,
readNList函数的返回值则是一个存放了一个月的日平均气温值的列表。没有返回值的函数往往是执行一个操作,例如输出12个月的月平均气温的函数不需要返回值。
2.函数的调用
调用
getAvg函数时,需要告诉函数计算哪些数据的平均值,所以需要一个参数来接收数据序列。函数最后返回的是求得的平均值,在调用函数时,还要考虑接收函数的返回值。
函数调用的一般形式如下:
函数名(<参数值列表>)
因为大部分函数是有返回值的,所以调用时常和赋值语句一起使用,由变量引用返回值,其调用形式为:
变量名=函数名(<参数值列表>)
例如,要计算7!+11!-10!,可以定义一个函数,用于计算n!。要计算n!,必须有一个参数接受n的值,并有一个返回值作为计算结果。
定义函数的代码如下:
计算7!+11!-10!时,需要调用3次fact函数,调用语句如下:
调用函数的方式是十分灵活的,可以单独调用,也可以将它包含在一个表达式中,让函数返回值直接参加表达式运算,还可以将它作为另一个函数调用的参数。
例如,本项目模块化设计的算法中,步骤2.2.1和2.2.2可以用一个函数调用完成。函数
append的参数是getAvg函数的返回值。
三、文本数据的表示和操作
1.文本数据的表示
计算机中表示文本的最基本单位是字符,包括可打印字符不可打印的控制字符。可打印字符包括:①英文大小写字母a-z和A-Z;②数字字符0-9;③标点符号和一些键盘上的常见符号。控制字符包括回车、制表符、退格等,在程序中要用转义字符表示这些控制字符。
Python
语言中的转义字符以\为前缀,如下表所示。
Python的转义字符
转义字符
描述
转义字符


\\
反斜杠符号
\t
横向制表符
\’
单引号
\r
回车
\”
双引号
\n
换行
\a
响铃
\(在行尾时)
续行符
\b
退格(Backspace)
\f
换页
\e
转义
\oyy
八进制数yy代表的字符,如:\o12代表换行
\000

\xyy
十六进制数yy代表的字符,如:\x0a代表换行
字符串是字符的序列表示。字符串常量可以使用单引号、双引号、三引号封装,但前后必须一致。其中单引号、双引号可以表示单行字符串两者作用一致。使用单引号时,双引号可以是字符串的一部分;使用双引号时,单引号可以是字符串的一部分;三引号可以表示单行或多行字符串。举例如下。
2.字符串类型数据的基本操作
Python语言提供了对字符串类型数据的一些通用操作,如下表所示,以实现对字符串的连接、复制、包含、索引等。
Python字符串类型数据的操作符
操作符


x+y
连接两个字符串x和y
x
y
复制n次字符串x
x
in
s
包含判断,判断字符串x是否为字符串s的子串,是则返回true,否则返回false
str[i]
索引操作,返回下标位置的一个字符
str[N:M]
切片,返回从str[N]到str[M-1]的子串
len(x)
返回字符串x的长度
str(x)
返回任意类型x所对应的字符串
下面一组操作示例了连接、复制、包含操作符的使用。
下例为获取月份英语缩写的程序,输入一个表示月份的整数(1-12),输出对应的月份字符串名称。
程序的运行结果如下:
要注意的是,可以通过下标访问字符串中的指定字符或子串,但不能改变字符串的内容。举例如下。
Python语言还提供了丰富的字符串操作方法,如下表所示(s表示一个字符串对象)。
字符串对象的常用方法
常用方法
描述
s.capitalize()
返回首字符大写后的字符串,s对象不变
s.lower()
返回所有字符改小写后的字符串,s对象不变
s.upper()
返回所有字符改大写后的字符串,s对象不变
s.strip()
返回删去前后空格后的字符串,s对象不变
s.replace(old,new)
将s对象中所有的old子串用new子串代替
s.count(sub[,start[,end]])
计算子串sub在s对象中出现的次数,
start和end定义起始位置
s.find(sub[,start[,end]])
计算子串sub在s对象中首次出现的位置
s.join(iterable)
将序列对象中所有字符串合并成一个字符串,s对象为连接分隔符
s.split(sep=None)
将s对象按分隔符sep拆分为字符串列表,默认为空格
字符串对象的常用方法示例:
四、用列表表示和计算平均气温
气象台每日发布的气象数据中,常常会出现最高气温、最低气温和日平均气温。最高气温是一日内气温的最高值,一般出现在14时左右;最低气温是一日内气温的最低值,般出现在凌晨。日平均气温的计算方法不一,可以是最高气温和最低气温的平均值,也可以是一天多次观测值的平均值。而一个月的日平均气温的平均值就是月平均气温。
核心概念
批量数据:一组数据类型相同的数据对象。数据类型可以是简单类型,也可以是复杂的构造类型。
1.计算日平均气温
问题:已知气象台某日观测得到的4次气温值为:10℃、13℃、18℃、12℃,求该日的日平均气温。
大部分高级语言都提供了对批量数据在程序中进行表示的方法,最常见的是数组。Python语言则提供了更加便利的列表类型,可以应用于一次处理多个数据对象的场合。
创建一个列表,存储该日观测得到的气温数据的语句如下:
计算平均值就是把一系列数值数据累加后再除以数据的个数。实现这一计算的方法很多,可以通过算术表达式计算,也可以使用内置函数计算。
小贴士
Python语言中使用列表来表示批量数据。列表用“[]”表示。其中每一项可以是任意数据类型的数据项,各数据项之间用逗号分隔。通过赋值运算可以创建列表:
L=[]#创建一个空的列表L
内置函数sum的作用是求列表中数值数据的累加和,内置函数len的作用是求列表中数据项的个数。有统计功能的内置函数还有max、min等。
方法1:使用算术表达式计算
方法2:使用内置函数计算

Python语言的列表中,各数据项顺序排列,并允许按下标访问。下标是一个整数,有效范围从0到列表的长度减1。t_Day[0]表示列表中的第一个数据项,t_Day[i]表示列表
的第i+1个数据项。通过访问数据项可以读取、修改数据的数据。
2.计算月平均气温
问题:已知某市2013年8月的31个日平均气温数据为:34,32,33,33,35,36,36,36,35,34,33,32,32,32,32,31,32,32,30,31,30,30,31,32,29,27,29,31,32,30,26,26,求该市2013年8月的月平均气温。
使用
Python语言的列表可以存储以上31个气温数据。
计算月平均气温,既可以使用内置函数,也可以用循环结构先求得这个月的日平均气温总和再完成计算。访问列表中的每一个数据项时,通常有两种不同的访问方法:下标访问和序列迭代访问。
下标访问方法
序列迭代访问方法
3.使用用户自定义函数计算平均值
许多数据分析工具软件都会提供求平均值的系统函数,用来直接计算一组数据的平均值。
Python语言没有提供供平均值的内置函数,但可以通过用户自定义函数进行扩求。
核心概念:
用户自定义函数:由用户自己编写的、能够实现独立功能的语句块。
小贴士
函数定义的一般形式:
def函数名(<参数>):
函数体
每个函数可以返回一个值,return
语句的作用为返回表达式的值。
4.读取文件中的数据到列表
上问题中的31个日平均气温数据,若要长期存储并反复使用,通常可将其保存在文件中,再通过程序指令来读取文件中的数据。文本文件是存储程序数据的常用文件格式。
首先,新建文本文件“201308tq.txt”,将31个日平均气温数据依次输入,每行一个数据。
然后,在
Python
Shell中读取存储在文件“201308tq.txt”中的气温数据到列表L中。
Python提供了文件的快速访问方式,可将文本文件中的据按每行一个字符串的形式读入一个列表中,其格式为:
列表=list(open(文件名))
列表L中得到的是31个包含“\n”的字符串数据,因此要使用int函数逐个将字符串数据转化为整型数据。
五、课后作业
编写程序,计算文件“201308tq.txt”
中存储的31
个日平均气温数据的平均值。
>>>
def
fact(n):
p=1
if
n<0:
return-1
for
i
in
range(1,
n+1):
p=p
1
return
p
>>>
result=fact(7)+fact(11)-fact(10)
>>>
result
36293040
avgy.append(getAvg(m))
2.2.1求列表m的平均值avg:
2.2.2将avg追加到列表avgy中。
>>>
print("I'm
a
programmer.")
I'm
a
programmer.
>>>
print('She
said:
"you
are
right".')
She
said:"you
are
right".
>>>
print('''三引号中可以有'单引号'
可以有"双引号"
还可以换行''')
三引号中可以有'单引号'
可以有"双引号"
还可以换行
>>>
s1="hello"
>>>
s2="Python"
>>>
s3=s1+s2
>>>
print(s3)
hello
Python
>>>
s4=3
s2
>>>
print(s4)
Python
Python
Python
>>>
s2
in
s4
true
>>>
s1
in
s4
false
monthStr="JanFebMarAprMayJunJulAugSepOctNovDec"
monthId=eval(input("请输入月份(1-12):"))
pos=(monthId-1)
3
print(monthStr
[pos:
pos+3])
=============RESTART:
C:
/sample/getMonthname.py==========
请输入月份(1-12):8
Aug
>>>
print(s4[7:
13])
Python
>>>
s4[7:13]='Hello'
Traceback
(most
recent
call
last):
File
"",
line
1,
in

s4[7:13]='Hello'
TypeError:
'str'
object
does
not
support
item
assignment
>>>
s='
hello
python
'
>>>
t=s.strip()
>>>
s
'
hello
Python
'
>>>
t
'hello
Python'
>>>
t.find('he')
0
>>>
s.count('h')
2
>>>
L=t.split()
>>>
L
['hello','Python']
>>>
t1=",".join(L)
>>>
t1
'hello,Python'
>>>
t_Day=[10,13,18,12]
>>>
t_Day=[10,13,18,12]
>>>
avg=(t_Day[0]+t_Day[1]+t_Day[2]+t_Day[3])/4
>>>
avg
13.25
>>>
t_Day=[10,13,18,12]
>>>
avg=sum(t_Day)/len(t-Day)
>>>
avg
13.25
>>>
t_Day=[34,32,33,33,35,36,36,36,35,34,33,32,32,32,32,31,32,32,30,31,30,30,31,32,29,27,29,31,32,30,26,26]
>>>
s=0
>>>
n=0
>>>
for
i
in
range(len(t_Day)):
s=s+t_Day[i]
n=n+1
>>>
avg=s/n
>>>
avg
31.677419354838708
>>>
s=0
>>>
n=0
>>>
for
x
in
t_Day:
s=s+x
n=n+1
>>>
avg=s/n
>>>
avg
31.677419354838708
>>>
def
getAvg(L):
return
sum(L)/len(L)
>>>
avg=getAvg(t_Day)
>>>
avg
31.67741934838708
>>>
L=list(open("c:\\sample\\201308tq.txt"))
>>>
>>>
L
['34\n','32\n','33\n','33\n','35\n','36\n','36\n','36\n','35\n','34\n','33\n','32\n','32\n','32\n','32\n','31\n','32\n','32\n','30\n','31\n','30\n','30\n','31\n','32\n','29\n','27\n','29\n','31\n','32\n','30\n','26\n','26\n']
>>>
for
i
in
range(len(L)):
L[i]=int(L[i])
>>>
L
[34,32,33,33,35,36,36,36,35,34,33,32,32,32,32,31,32,32,30,31,30,30,31,32,29,27,29,31,32,30,26,26]
21世纪教育网
www.21cnjy.com
精品试卷·第
2

(共
2
页)
HYPERLINK
"http://21世纪教育网(www.21cnjy.com)
"
21世纪教育网(www.21cnjy.com)(共59张PPT)
第一课时
用列表表示和计算平均气温
信息技术沪教版
必修1
项目八
分析历史气温数据
——设计批量数据算法
1
2
3
4
批量数据及其表示和操作
函数的定义和调用
文本数据的表示和操作
用列表表示和计算平均气温


一.批量数据及其表示和操作
批量数据
一组数据类型相同的数据对象。数据类型可以是简单类型,也可以是复杂的构造类型。
下标
对批量数据中数据项的访问可通过下标。例如,a[I],a[i]。下标的含义是与第一个数据项的偏移量,通常从0开始。
例如
Color=["red","gren","blue"],Color[0]的值是"red",
Color[1]的值是"gren",
Color[2]的值是"blue"。
批量数据的优势
(1)一批批量数据只需定义一个名称,程序的通用性更强。而一个单变量只可以控制一个数据,使用单变量,程序可控制的数据的个数是固定的。
批量数据的优势
(2)使用方便,可以组织循环控制结构,通过控制下标的值控制一批数据。
Python列表的基本操作
操作


x1+x2
连接列表x1和x2,生成新列表
x
n
将列表x复制n次,生成新列表
x[i]
引用列表x中下标为i的列表成员,i从0开始计数
x[i:j]
引用列表x中下标从i到j-1的子列表
x[i:j:k]
引用列表x中下标从i到j-1、间隔为k的子列表
len(x)
计算列表x中成员的个数
max(x)
列表x中最大数据项
min(x)
列表x中最小数据项
v
in
x
检测v是否在列表x中,返回布尔值
v
not
in
x
检测v是否不在列表x中,返回布尔值
表Python列表的方法
方法


list.append(x)
把一个数据项添加到列表的结尾,相当于a[len(a):]=[x]
list.extend(L)
将一个列表中的所有数据项都添加到另一个列表中,相当于a[len(a):]=L
list.insert(i,x)
在指定位置插入一个数据项,如a.insert(0,x)会插入到整个列表之前,而a.insert(len(a),x)相当于a.append(x)
list.remove(x)
删除列表中值为x的第一个数据项;如果没有这样的数据项,就返回Flse
二.函数的定义和调用
在设计一个大的应用程序时,经常会发生实现类同功能的程序块在程序中多次反复出现的情况。如果单独编写这些程序块,供程序中各部分,甚至各应用程序共享使用,就可以减少编写代码的工作量,而且也便于修改和查看
Python语言提供了函数来实现有独立功能的程序块。
函数
1.函数的定义
2.函数的调用
1.函数的定义
构造一个函数的思路与分析数学应用题有些类似,要知道已知什么和求什么。将已知条件放在参数中,在调用时通过参数传递得到,而所的值可通过函数的返回值返回。
函数定义的一般格式如下:
def函数名(<参数>):
函数体
1.函数的定义
函数的定义中一般都包含return语句,return语句的作用是结束函数的执行,返回一个值作为函数的返回值。返回值可以是简单的整型数据、浮点型、文本数据等,也可以是复杂的列表等,还可以没有返回值,仅仅结束函数的执行。
1.函数的定义
getAvg函数的返回值是一个表示数据系列的平均值的浮点值,
readNList函数的返回值则是一个存放了一个月的日平均气温值的列表。没有返回值的函数往往是执行一个操作,例如输出12个月的月平均气温的函数不需要返回值。
2.函数的调用
调用
getAvg函数时,需要告诉函数计算哪些数据的平均值,所以需要一个参数来接收数据序列。函数最后返回的是求得的平均值,在调用函数时,还要考虑接收函数的返回值。
函数调用的一般形式如下:
函数名(<参数值列表>)
2.函数的调用
因为大部分函数是有返回值的,所以调用时常和赋值语句一起使用,由变量引用返回值,其调用形式为:
函数调用的一般形式如下:
变量名=函数名(<参数值列表>)
2.函数的调用
例如,要计算7!+11!-10!,可以定义一个函数,用于计算n!。要计算n!,必须有一个参数接受n的值,并有一个返回值作为计算结果。
2.函数的调用
>>>
def
fact(n):
p=1
if
n<0:
return-1
for
i
in
range(1,
n+1):
p=p
1
return
p
定义函数的代码
>>>
result=fact(7)+fact(11)-fact(10)
>>>
result
36293040
调用函数的代码
2.函数的调用
2.函数的调用
例如,本项目模块化设计的算法中,步骤2.2.1和2.2.2可以用一个函数调用完成。函数
append的参数是getAvg函数的返回值。
2.2.1求列表m的平均值avg:
2.2.2将avg追加到列表avgy中。
avgy.append(getAvg(m))
三.文本数据的表示和操作
打印字符
①英文大小写字母a-z和A-Z;
②数字字符0-9;
③标点符号和一些键盘上的常见符号。
1.文本数据的表示
控制字符
回车、制表符、退格等。
Python的转义字符
转义字符
描述
转义字符


\
反斜杠符号
t
横向制表符

单引号
r
回车

双引号
n
换行
a
响铃
(在行尾时)
续行符
b
退格(Backspace)
f
换页
e
转义
oyy
八进制数yy代表的字符,如:o12代表换行
00

xyy
十六进制数yy代表的字符,如:x0a代表换行
字符串常量
①单引号;
②双引号;
③三引号。
1.文本数据的表示
字符串常量的使用
1.文本数据的表示
前后必须一致。其中单引号、双引号可以表示单行字符串两者作用一致。
使用单引号时,双引号可以是字符串的一部分;
使用双引号时,单引号可以是字符串的一部分;
使用三引号可以表示单行或多行字符串。
>>>
print("I'm
a
programmer.")
I'm
a
programmer.
>>>
print('She
said:
"you
are
right".')
She
said:"you
are
right".
>>>
print('''三引号中可以有'单引号'
可以有"双引号"
还可以换行''')
三引号中可以有'单引号'
可以有"双引号"
还可以换行
Python字符串类型数据的操作符
操作符


x+y
连接两个字符串x和y
x
y
复制n次字符串x
x
in
s
包含判断,判断字符串x是否为字符串s的子串,是则返回true,否则返回false
str[i]
索引操作,返回下标位置的一个字符
str[N:M]
切片,返回从str[N]到str[M-1]的子串
len(x)
返回字符串x的长度
str(x)
返回任意类型x所对应的字符串
操作示例
连接
复制
操作符
2.字符串数据的操作
>>>
s1="hello"
>>>
s2="Python"
>>>
s3=s1+s2
>>>
print(s3)
hello
Python
>>>
s4=3
s2
>>>
print(s4)
Python
Python
Python
>>>
s2
in
s4
true
>>>
s1
in
s4
false
获取月份英语缩写
2.字符串数据的操作
monthStr="JanFebMarAprMayJunJulAugSepOctNovDec"
monthId=e_val(input("请输入月份(1-12):"))
pos=(monthId-1)
3
print(monthStr
[pos:
pos+3])
程序的运行结果
2.字符串数据的操作
==========RESTART:
C:
/sample/getMonthname.py=========
请输入月份(1-12):8
Aug
通过下标访问字符串
2.字符串数据的操作
>>>
print(s4[7:
13])
Python
>>>
s4[7:13]='Hello'
Traceback
(most
recent
call
last):
File
"",
line
1,
in

s4[7:13]='Hello'
TypeError:
'str'
object
does
not
support
item
assignment
字符串对象的常用方法
常用方法
描述
s.capitalize()
返回首字符大写后的字符串,s对象不变
s.lower()
返回所有字符改小写后的字符串,s对象不变
s.upper()
返回所有字符改大写后的字符串,s对象不变
s.strip()
返回删去前后空格后的字符串,s对象不变
s.replace(old,new)
将s对象中所有的old子串用new子串代替
s.count(sub[,start[,end]])
计算子串sub在s对象中出现的次数,
start和end定义起始位置
s.find(sub[,start[,end]])
计算子串sub在s对象中首次出现的位置
s.join(iterable)
将序列对象中所有字符串合并成一个字符串,s对象为连接分隔符
s.split(sep=None)
将s对象按分隔符sep拆分为字符串列表,默认为空格
字符串对象的常用方法示例
2.字符串数据的操作
>>>
s='
hello
python
'
>>>
t=s.strip()
>>>
s
'
hello
Python
'
>>>
t
'hello
Python'
>>>
t.find('he')
0
>>>
s.count('h')
2
>>>
L=t.split()
>>>
L
['hello','Python']
>>>
t1=",".join(L)
>>>
t1
'hello,Python'
四.文本数据的表示和操作
气象台每日发布的气象数据中,常常会出现最高气温、最低气温和日平均气温。最高气温是一日内气温的最高值,一般出现在14时左右;最低气温是一日内气温的最低值,般出现在凌晨。日平均气温的计算方法不一,可以是最高气温和最低气温的平均值,也可以是一天多次观测值的平均值。而一个月的日平均气温的平均值就是月平均气温。
问题:
已知气象台某日观测得到的4次气温值为:
10℃、13℃、18℃、12℃,求该日的日平均气温。
A
计算日平均气温
大部分高级语言都提供了对批量数据在程序中进行表示的方法,最常见的是数组。Python语言则提供了更加便利的列表类型,可以应用于一次处理多个数据对象的场合。
创建一个列表,存储该日观测得到的气温数据的语句如下:
A
计算日平均气温
>>>
t_Day=[10,13,18,12]
小贴士
Python语言中使用列表来表示批量数据。列表用“[]”表示。其中每一项可以是任意数据类型的数据项,各数据项之间用逗号分隔。通过赋值运算可以创建列表:
L=[]#创建一个空的列表L
A
计算日平均气温
小贴士
Python语言中使用列表来表示批量数据。列表用“[]”表示。其中每一项可以是任意数据类型的数据项,各数据项之间用逗号分隔。通过赋值运算可以创建列表:
L=[]#创建一个空的列表L
A
计算日平均气温
内置函数sum的作用是求列表中数值数据的累加和,内置函数len的作用是求列表中数据项的个数。有统计功能的内置函数还有max、min等。
A
计算日平均气温
A
计算日平均气温
>>>
t_Day=[10,13,18,12]
>>>
avg=(t_Day[0]+t_Day[1]+t_Day[2]+t_Day[3])/4
>>>
avg
13.25
方法1:使用算术表达式计算
A
计算日平均气温
方法2:使用内置函数计算
>>>
t_Day=[10,13,18,12]
>>>
avg=sum(t_Day)/len(t-Day)
>>>
avg
13.25

Python语言的列表中,各数据项顺序排列,并允许按下标访问。下标是一个整数,有效范围从0到列表的长度减1。t_Day[0]表示列表中的第一个数据项,t_Day[i]表示列表
的第i+1个数据项。通过访问数据项可以读取、修改数据的数据。
A
计算日平均气温
B
计算月平均气温
问题:
已知某市2013年8月的31个日平均气温数据为:
34,32,33,33,35,36,36,36,35,34,33,32,32,32,32,31,32,32,30,31,30,30,31,32,29,27,29,31,32,30,26,26,求该市2013年8月的月平均气温。
B
计算月平均气温
使用
Python语言的列表可以存储以上31个气温数据。
>>>
t_Day=[34,32,33,33,35,36,36,36,35,34,33,32,32,32,32,31,32,32,30,31,30,30,31,32,29,27,29,31,32,30,26,26]
B
计算月平均气温
下标访问
>>>
s=0
>>>
n=0
>>>
for
i
in
range(len(t_Day)):
s=s+t_Day[i]
n=n+1
>>>
avg=s/n
>>>
avg
31.677419354838708
B
计算月平均气温
序列迭代访问
>>>
s=0
>>>
n=0
>>>
for
x
in
t_Day:
s=s+x
n=n+1
>>>
avg=s/n
>>>
avg
31.677419354838708
C
使用用户自定义函数计算平均值
用户自定义函数:
由用户自己编写的、能够实现独立功能的语句块。
C
使用用户自定义函数计算平均值
>>>
def
getAvg(L):
return
sum(L)/len(L)
>>>
avg=getAvg(t_Day)
>>>
avg
31.67741934838708
C
使用用户自定义函数计算平均值
函数定义的一般形式:
def函数名(<参数>):
函数体
首先,新建文本文件“201308tq.txt”,将31个日平均气温数据依次输入,每行一个数据。
然后,在
Python
Shell中读取存储在文件“201308tq.txt”中的气温数据到列表L中。
D
读取文件中的数据到列表
D
读取文件中的数据到列表
>>>
L=list(open("c:\sample\201308tq.txt"))
>>>
>>>
L
['34n','32n','33n','33n','35n','36n','36n','36n','35n','34n','33n','32n','32n','32n','32n','31n','32n','32n','30n','31n','30n','30n','31n','32n','29n','27n','29n','31n','32n','30n','26n','26n']
>>>
for
i
in
range(len(L)):
L[i]=int(L[i])
>>>
L
[34,32,33,33,35,36,36,36,35,34,33,32,32,32,32,31,32,32,30,31,30,30,31,32,29,27,29,31,32,30,26,26]
Python提供了文件的快速访问方式,可将文本文件中的据按每行一个字符串的形式读入一个列表中,其格式为:
列表=list(open(文件名))
列表L中得到的是31个包含“n”的字符串数据,因此要使用int函数逐个将字符串数据转化为整型数据。
D
读取文件中的数据到列表
五.课后作业
编写程序,计算文件“201308tq.txt”
中存储的31
个日平均气温数据的平均值。
谢谢
21世纪教育网(www.21cnjy.com)
中小学教育资源网站
有大把高质量资料?一线教师?一线教研员?
欢迎加入21世纪教育网教师合作团队!!月薪过万不是梦!!
详情请看:
https://www.21cnjy.com/help/help_extract.php