浙教版 (2019)必修1 数据与计算2.1 算法的概念及描述授课课件ppt
展开n==1 r n==2
fib(n-1)+fib(n-2)
=D3+E3+F3 或 =sum(D3:F3)
函数是 Pythn 中的一等公民,可以把它们(返回值)赋给变量,可以作为参数被其他函数调用,也可以从其他函数中返回值。它可以帮助你在 Pythn 中实现其他语言难以实现的功能。
定义一个函数 run_smething。它有一个参数 func,这个参数是一个可以运行的函数的名字
>>> def answer():... print(42)>>> def run_smething(func):... func()
将参数 answer 传到该函数,在这里像之前碰到的一样,把函数名当作数据使用:
>>> run_smething(answer)42
注意,你传给函数的是 answer , 而不是 answer()。在 Pythn 中圆括号意味着调用函数。在没有圆括号的情况下,Pythn会把函数当作普通对象。
我们来运行一个带参数的例子。定义函数 add_args(),它会打印输出两个数值参数(arg1 和 arg2)的和:
>>> def add_args(arg1, arg2):... print(arg1 + arg2)>>> type(add_args)
此刻定义一个函数 run_smething_with_args(),它带有三个参数:
·func——可以运行的函数·arg1——func 函数的第一个参数·arg2——func 函数的第二个参数
>>> def run_smething_with_args(func, arg1, arg2):... func(arg1, arg2)
当调用 run_smething_with_args() 时,调用方传来的函数赋值给 func 参数,而 arg1 和 arg2 从参数列表中获得值。然后运行带参数的 func(arg1, arg2)。
>>> run_smething_with_args(add_args, 5, 9)14
map是pythn内置函数,会根据提供的函数对指定的序列做映射。map()函数的格式是:
map(functin,iterable,...)
functin是一个函数名称,通过该函数对后续参数iterable进行处理iterable是一个可迭代对象,比如:字符串、列表、字典、元组、集合等
map函数通过将指定的functin函数依次作用在给定序列中的每一个元素上,得到一个新的生成器并返回。
a=input()b=a.split()c=list(map(int,b))print(a,"\n",b,"\n",c)
1 5 61 5 6 ['1', '5', '6'] [1, 5, 6]
class int(x, base=10)
参数x -- 字符串或数字。base -- 进制数,默认十进制。
>>> int(3) 3 >>> int(3.6) 3 >>> int('12',16) # 如果是带参数base的话,12要以字符串的形式进行输入,12 为 16进制 18 >>> int('0xa',16) 10 >>> int('10',8) 8
pen (file, mde=‘r’)
打开 file 并返回对应的 file bject。 如果该文件不能被打开,则引发 OSErrr。mde 是一个可选字符串,用于指定打开文件的模式。默认值是 'r' ,这意味着它以文本模式打开并读取。
模式 'w+' 与 'w+b' 将打开文件并清空内容。 模式 'r+' 与 'r+b' 将打开文件并不清空内容。
>>> f = ('wrkfile', ‘w+')
在处理文件对象时,最好使用 with 关键字。 优点是当子句体结束后文件会正确关闭,即使在某个时刻引发了异常。
如果你没有使用 with 关键字,那么你应该调用 f.clse() 来关闭文件并立即释放它使用的所有系统资源。
假定你已创建名为 f 的文件对象
要读取文件内容,请调用 f.read(size),它会读取一些数据并将其作为字符串(在文本模式下)或字节串对象(在二进制模式下)返回。 size 是一个可选的数值参数。如果已到达文件末尾,f.read() 将返回一个空字符串 ('')。
f.readline() 从文件中读取一行;换行符(\n)留在字符串的末尾,如果文件不以换行符结尾,则在文件的最后一行省略。这使得返回值明确无误;如果 f.readline() 返回一个空的字符串,则表示已经到达了文件末尾,而空行使用 '\n' 表示,该字符串只包含一个换行符。
要从文件中读取行,你可以循环遍历文件对象。
如果你想以列表的形式读取文件中的所有行,你也可以使用 list(f) 或 f.readlines()。
有时候你可能需要从一个文本文件中读取独立的单词。例如,假设我们的输入文件包含两行文本:
我们想把这些单词输出到终端,每行一个单词:
因为没有从文件中读取一个单词的方法,你必须首先读取一行,然后将其切分成独立的单词。这可以使用split方法来完成:
当字符串行包含\n等我们不想要的字符时,如:
为了删除换行符,对字符串应用rstrip方法:
默认地,rstrip方法创建一个新字符串,删除原字符串尾部的所有空白字符(空格、制表符、换行符)。
为了删除字符串尾部的指定字符,你可以把包含那些字符的字符串参数传递给rstrip方法。例如,如果我们需要从字符串尾部删除一个圆点或一个问号,可以使用命令:
这里的split方法返回在每个空白字符处对原始字符串进行切分得到的子字符串的列表。例如,如果line包含字符串:
它将被切分成5个子字符串,并且按在字符串中出现的相同顺序存储到一个列表中:
注意行尾的最后一个单词包含一个逗号。如果我们只是想输出文件中的单词而不包括标点符号,那么我们可以使用前一节中介绍的rstrip方法从子字符串中删除它们:
默认地,split方法使用空白字符作为分隔符。你也可以使用不同的分隔符切分字符串。例如,如果单词之间使用冒号分隔而不是使用空白字符
我们可以在使用split方法时指定冒号为分隔符
Pandas-Series
imprt pandas as pd
(二) Series操作
s4=pd.Series([166,178,180],index=["s01","s02","s03"])
遍历值(.values可以省略)
Pandas-DataFrame
创建DataFrame对象
查看(取出)DataFrame对象
fr i in df1.index: print(i,end=" ")
fr i in df1.clumns: print(i,end=" ")
fr i in df1.values: print(i,end=" ")
(.clumns可以省略)
字典方式检索一列数据,返回一个Series
属性检索一列数据,返回一个Series
df.借阅次数=[30,52,68]
通过head()、tail()返回DataFrame的前n行、后n行数据,没有参数则返回5行数据
df.head() #默认返回前5行
df.tail(3) #返回后3行,不写默认五行
通过索引(切片)查看指定行
返回df对象中索引为2、3、4行的数据
返回df对象中索引为2的行的数据
df[df["价格"]>4]
&:查找同时满足条件的项(与)
df[(df["价格"]>4)&(df["采价点"]=="超市2")]
|:查找满足其中一个条件的项(或)
df[(df["价格"]<4)|(df["地区"]=="北京市")]
DataFrame对象中行、列的编辑
df_delc=df.drp("规格",axis=1)
df_delr=df.drp(0,axis=0)
删除索引为0行数据,axis=0可以省略
默认append()和drp()均不改变原有df对象中的数据,而是通过返回另一个对象来存放改变后的数据
DataFrame对象中数据的统计与计算
可以使用cunt()、sum()、mean()、max()、min()、describe()、grupby()等函数对DataFrame对象中的数据进行统计与计算
DataFrame对象分组
g=df.grupby("地区",as_index=False) g.mean() #分组统计平均值
g.价格.mean()
DataFrame对象排序
按索引排序可以使用srt_index()函数按值排序可以使用srt_values()函数。
df_srt=df.srt_index(ascending=False)
df_srt=df.srt_values("价格",ascending=False)
#data存储购物车数据:类别,商品名,价格data = [['生活用品', '剪刀', 15], ['书籍', '更高更妙的物理', 45], ['书籍', '信息选修一', 20], ['生活用品', '电池', 10], ['生活用品', '裁纸刀', 20], ['书籍', 'Pythn从入门到退款', 53], ['书籍', '高中信息学竞赛辅导', 76]]
现在变量data是什么类型的?
imprt pandas as pddf=pd.DataFrame(①,clumns=["类别","商品名","价格"])
imprt pandas as pddf=pd.DataFrame(data,clumns=["类别","商品名","价格"])
#读取“商品名”列的数据df[①]
#取出索引为2的行的数据df[②]
#查找书籍类目内价格大于30的书本df[①]
#求所有商品平均价格df.①
高中信息技术浙教版 (2019)必修1 数据与计算3.2 Python语言程序设计课前预习ppt课件: 这是一份高中信息技术浙教版 (2019)必修1 数据与计算3.2 Python语言程序设计课前预习ppt课件,共19页。PPT课件主要包含了为什么是Python,官网上的说明,Python缺点,安装Python,使用Python,避免缩进错误,做点计算,print函数等内容,欢迎下载使用。
浙教版 (2019)必修1 数据与计算3.2 Python语言程序设计示范课ppt课件: 这是一份浙教版 (2019)必修1 数据与计算3.2 Python语言程序设计示范课ppt课件,共55页。PPT课件主要包含了列表简介,元组简介等内容,欢迎下载使用。
信息技术必修1 数据与计算3.2 Python语言程序设计习题ppt课件: 这是一份信息技术必修1 数据与计算3.2 Python语言程序设计习题ppt课件,共29页。PPT课件主要包含了课堂练习,解析3215,Ture,False,‘34’,‘2’,成绩等级B,输出sum的值,限制次数猜数等内容,欢迎下载使用。