内容正文:
第四章 程序设计基础
一、程序设计语言的基础知识
1.常量与变量
数据总是以常量或变量两种形式出现在程序中。
●常量: 。
●变量: 。在程序设计语言中,变量可以
用指定的名字来代表,即变量由变量的“标识符”(变量名)、变量的“内容”(值)和变量的类型
(数据类型)三部分组成。变量的内容在程序运行过程中是可以变化的。变量名是内存的符
号化地址,代表了内存中的值。变量的赋值遵循“新来旧去”的规则。
2.标识符
Python 程序设计语言规定标识符由 组成,
并且其第一个字符必须是 ,而不能是数字。在 Python 中,标识符要区分字母大
小写。
Python 是动态语言,动态语言的变量不需要定义数据类型,其数据类型可以不固定,是
动态的,需要根据其赋予的值来确定其数据类型。与之对应的是静态语言,静态语言在定义
变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。因此,和静态语言相比,
动态语言更灵活。同样一个变量是可以重复赋值的, 而且可以被赋予不同类型的值。同
时,Python 支持多种数据类型,在计算机内部,可以把任何数据都看成一个“对象”,而变量就
是在程序中用来指向这些数据对象的,对变量赋值就是把数据和变量关联起来。
3.Python的数据类型
不同的数据,需要定义不同的数据类型。Python 能够直接处理的常用数据类型有
Number(数值)、String(字符串)、List(列表)、Tuple(元组)、Sets(集合)、Dictionary(字典)等。
检测一个数据的类型使用 type()函数。
(1)Number(数值)
①整型(Int):在 Python 中,整型有以下几种表示形式:二进制、八进制、十进制和十六进
制。例如,十进制整数 17,其二进制形式为 0b10001,八进制形式为 0o21,十六进制形式为
0x11。这里涉及以下函数:
bin(x): 。
oct(x): 。
int(x): 。
hex(x): 。
②浮点型(Float):由整数部分和小数部分组成。它有两种表示形式:小数形式和指数形
16
必修一 数据与计算
式。例如,123.45 可以写成 1.2345e2。
③复数(Complex):由实数部分和虚数部分组成,有两种表示形式。例如,a+bj 可以写成
complex(a,b)。
(2)字符串(String)
字符串是由英文状态下的 括起来的任意文本,如:"abc""123"等。
字符串元素的引用是通过下标来确定的。
顺序引用:下标从 0 到 len(str)-1,若 a="cz2024",则 a[0]的值为 c ,a[1]的值为 z ……
倒序引用:从最后一个元素开始,下标依序分别为-1,-2,-3,…直到-len(str),若 a=
"cunzhao",则 a[-1]的值为 o ,a[-2]的值为 a ……
字符串的多元素引用:切片。
基本格式:字符串名[起始位置:结束位置],包含起始值,不包含结束值。若省略起始
值,则默认从第一个元素开始。若 s="1a2ds3",则 a[2:5]的值为 2ds ,a[:3]的值为 1a2 。
(3)列表(List)
列表是由 括起来的数据序列,元素类型可以是任意类型,如 a=[ a ,1, s ,3]。
列表元素的引用和字符串元素的引用一样。
(4)元组(Tuple)
元组是由 括起来的数据序列,元素类型可以是任意类型,如 t=(a ,3)。元组元
素的引用和字符串元素的引用类似。
(5)集合(Set)
集合是由 括起来的数据序列,元素类型可以是任意类型,元素值不能重复,不
能通过下标引用其元素,如 s={a ,2,4, d}。
(6)字典(Dictionary)
字典是由 括起来的键值对序列,元素类型可以是任意类型,不能通过下标引用
其元素,如 d={a :1, n : yes},d[a]的值为 1,d[n]的值为 yes 。
4.Python的运算符与表达式
在 Python 程序设计语言中对常量或变量进行运算或处理的符号称为运算符,参与运算
的对象称为操作数。操作数可以是常量、变量、函数等。常用的运算符有算术运算符、逻辑
运算符、关系运算符、赋值运算符、成员运算符等。
由运算符、操作数连接而成的式子称为表达式。
(1)算术运算符与算术表达式
算 术 运 算 符 包 括 、 、 、 、 、 和
,分别表示加、减、乘、除、求余、幂运算和整除。用算术运算符连接起来的式子称为
算术表达式。
(2)逻辑运算符与逻辑表达式
逻辑运算符包括 、 、 三个。由逻辑运算符连接而成的表达式
称为逻辑表达式。and 运算,如果两边为非 0 值则返回右边表达式的值,表示为真,如 5 and 3
的值为 3,表示真,即成立;如果任意一边为 0 值则返回 0,表示假,即不成立,如 0 and 5、7 and
17
0 的值都为 0。or 运算,只要有一边为非 0 值则立即返回非 0 的那边的值,否则返回 0,如 3 or
4 的值为 3,0 or 5 的值为 5,7 or 0 的值为 7。
(3)关系运算符与关系表达式
判断数据大小关系的运算符称为关系运算符,关系运算符有: 、 、
、 、 、 。由关系运算符连接而成的表达式称为关系表达式。
关系表达式的值为 或 。
(4)赋值运算符与赋值表达式
Python中的赋值运算符有: 、 、 、 、 、 、
、 。赋值号不是等号,具有方向性,由右边赋给左边,且赋值号左边只能是
变量,而不能是常量或表达式。如 s=3 表示将 3 存入到变量 s 对应的内存空间里;对于复合的
运算符要先运算后赋值,如 s+=3 与 s=s+3 等价,先做 s+3 然后再将值放入到 s 对应的内存空
间中。只有赋值才能改变变量的值,若 a=3,则执行 a*2 后,由于 a 并没有被重新赋值,因此,a
的值依然是 3。
(5)成员运算符
除了前面的运算符,Python 用成员运算符判断序列中是否有某个成员。常用的成员运
算符有 、 。如 3 in "asd3er"的值为 True,因为 3 确实在"asd3er"中。
5.运算符的优先级
当一个表达式中有多种运算符时,运算的顺序将根据运算符的优先级由高到低进行运
算。如果是同级运算则按从左到右的顺序进行。Python 运算符的优先级如下表所示。
运算符
()
x[index]
f(args …)
a.b
**
+x,-x
~x
*,/,%,//
+,-
<<, >>
&
^,|
==,!=,>,>=,<,<=,is, is not, in, not in
not x
and
or
lambda
if-else
=
=,+=, -=,*=,/=, //=,%=,&=,|=,̂=, <<=, >>=
描述
圆括号和表达式
下标、切片
函数调用
属性引用
指数运算符
正负号
按位取反
乘、除、模和整除
加法、减法
移位运算符
位“AND”
位运算符
比较运算符、身份运算符、成员运算符
逻辑非
逻辑“AND”
逻辑“OR”
Lambda 表达式
三元运算符
赋值表达式(Python3.8+)
赋值运算符
18
必修一 数据与计算
二、运用顺序结构描述问题求解过程
1.数据的输入
在 Python 程序设计语言中,数据输入通过 input()函数来实现,input()的一般格式为:
<变量> =input(提示信息: )
该函数返回输入的对象,可输入数字、字符串和其他任意类型对象。在 Python 3.x 中,不
论用户输入什么类型的数据,input()函数的返回结果都是字符串,如果需要可将其转换为相
应的类型再处理。
2.数据的输出
在 Python 3.x 中,数据输出可通过 print()函数来实现,print()的一般格式为:
print([object,][sep= ][,end=
])
说明:①方括号中的项是可选的,可以省略,如省略则取系统的默认值。
②object 是要输出的对象,可以是常量、变量或表达式等。
③sep 后面的空格(可以指定为其他字符)表示每个输出对象之间的分隔符,如果缺省的
话,默认值是一个单个的空格。
④end 后面的字符串含义为输出文本尾的一个字符串,如果缺省的话,默认值是一个
换行符。如果设为其他字符,如 end= ,则输出当前行的所有内容后,在末尾加一个空格,不
换行接着输出下一个 print()的输出对象。
⑤print()函数支持参数格式化,与 C 语言的 printf()类似。
【例1】在脚本模式下,print()输出示例程序如下:
print("Hello",end= )
print("World!")
输出:Hello World!
3.顺序结构的应用
顺序结构是最常用、最简单的程序结构,其语句执行顺序是自上而下依次
执行的。只要按照解决问题的顺序写出相应的语句,便可设计出程序的顺序结
构。顺序结构的流程图如图所示。
【例2】求任意一个圆的面积的程序如下:
import math
r=float(input(请输入半径:))
s=math.pi*r*r
print("该圆的半径为:%.2f"%(s))
三、运用选择结构描述问题求解过程
在解决问题的过程中,常常需要对事物进行判断和选择。在程序设计中,主要使用条件
19
语句(if 语句)来实现判断和选择。if 语句在使用中包括单分支 if 语句、双分支 if 语句、多分支
语句。
单分支 if 语句的格式:
if (条件表达式):
语句
语句
在使用单分支 if 语句时需要注意:①if(条件表达式)后面加 ;
②当语句是由多个语句构成的复合语句时,所有语句严格遵循相同的
。
单分支 if 语句的执行过程:如果条件表达式为真,则执行语句,然后
继续往下执行;如果条件表达式为假,则不执行语句,然后继续往下执
行。其执行过程如图所示。
双分支 if 语句的格式:
if(条件表达式):
语句 1
else:
语句 2
双分支 if 语句的执行过程:如果条件表达式为真,则
执行语句 1,然后继续往下执行。如果条件表达式为假,
则执行语句 2,然后继续往下执行。其执行过程如图
所示。
【例 3】在例 2 中,在要求输入圆的半径时,用户很有
可能输入的不是数值型数据,因此,我们要对输入的数据
进行判断,如果不是数值型,应该提示用户输入有误,否
则输出圆的面积。其代码如下:
import math
r=input(请输入半径:)
if(r. isdigit()):
s=math.pi*float(r)*float(r)
print("该圆的半径为:%.2f"%(s))
else:
print("圆的半径只能是数值!")
多分支 if…elif…else 语句格式如下:
if(表达式 1):
语句 1
elif(表达式 2):
20
必修一 数据与计算
语句 2
…
elif(表达式 N):
语句 N
else:
语句 N+1
if…elif…else 语句的执行过程如图所示。
四、运用循环结构描述问题求解过程
程序的循环结构是程序设计中常用的基本结构之一。循环是让计算机自动完成重
复工作的常见方式。在 Python 语言中,常见的循环关键字有 ,循环控制关键词
有 。
1.for循环的应用
for 循环语句的一般格式:
for 循环变量 in 列表:
语句或语句组
for 循环依次把列表中的每个元素逐个迭代出来。冒号(: )代表下一行是循环的第一
行,但是循环体在书写时需要缩进。在 for 循环中,从 for 语句末尾的冒号开始至其下没有缩
进的代码之间都是其包含的需要重复执行的部分。因此,for 循环所包含的语句是以缩进为
标志的。
【例4】求两个列表中元素的相似度的程序如下:
a=[高考 ,春季高考 ,3 月份高考 ,考大学 ,大学招生考试]
b=[高三 ,大学招生考试 ,3 月份高考 ,高考 ,春季高考]
c=[]
for val in a:
if val in b:
21
c.append(val)
jd=float(len(c)/(len(a)+len(b)-len(c)))
print(这两个列表的相似度为:%.3f %(jd))
2.while循环的应用
while 循环是当型循环,只要条件满足,就不断循环;否则,退出循环。while 循环语句的
格式:
while(表达式):
语句或语句组
说明:表达式一般是一个关系表达式或一个逻辑表达式,表达式的
值应该是一个逻辑值真(True)或假(False)。当表达式的值为真时,执行
循环体语句;当表达式的值为假时,退出循环,执行循环体外的下一条语
句(即 while 后面没有缩进的第一条语句)。每次循环都是执行完循环体
语句后回到表达式处重新开始判断,重新计算表达式的值。一旦表达式
的值为假就退出循环,为真时就继续执行循环体语句。循环体中必须有
改变条件表达式值的语句,否则将成为死循环。while 循环的执行过程
如图所示。
【例5】求任意两个正整数的最大公约数的程序如下:
n1=input(请输入第一个正整数:)
n2=input(请输入第二个正整数:)
if(n1.isdigit()and n2.isdigit()):
x=int(n1)
y=int(n2)
while y:
t=x%y
x=y
y=t
print(%s 和%s 这两个数的最大公约数为:%s %(n1,n2,x))
else:
print(请输入两个正整数!)
3.循环嵌套的应用
单独使用 for 循环或 while 循环的单循环语句,往往无法解决复杂的问题。如需要解决
类似“工作要做很多遍,而每一遍工作都是需要重复做一些事情”的问题,就要用到多重循
环,即“循环嵌套”。如果某一种循环语句中包含着自身或其他循环语句,就称为循环的“嵌
套”。for 循环或 while 循环之间可以相互嵌套。
22
必修一 数据与计算
4.循环的控制
循环控制包含控制循环变量的变化方式和控制循环的跳转。无论是 for 循环还是 while
循环,都需要一个控制循环的变量来控制循环的执行。但是,有些循环仅靠循环变量自身的
变化难以达到想要的控制效果,因此需要用到控制循环的跳转语句。实现控制循环的跳转
需要用到 break 和 continue 两个关键字。其中,break 是 循环,continue 是 循
环体的执行。
随堂练习
一、单项选择题
1. 在 Python 中,下列说法正确的是( )。
A. 在程序运行过程中,常量的值可以发生改变
B. 在程序运行过程中,变量的值可以发生改变
C. 在 Python 中,“123”和 123 都表示整型常量
D. 在 Python 中,变量必须先定义数据类型才能使用
2. 在 Python 程序设计语言中,可以返回列表、元组、字典、集合、字符串等对象中元素个
数的函数是( )。
A.int(x) B.abs(x) C.len(x) D.max(x)
3. 下列可以作为 Python 语言变量名的是( )。
A.IBM B.x*y C.for D.5ab
4. 已知字典 dict1={1: "张三", 2: "李四", 3: "王五", 4: "马六" },要得到字典中的“王
五”,下列方法可行的是( )。
A.dict1[2] B.dict1{3}
C.dict1[3] D.dict1["王五"]
5. 在 Python 中,赋值语句“x+=y”等价于( )。
A.x==x+y B.x+y=x C.y+=x D.x=x+y
6. 下列关于顺序控制结构的程序执行过程,描述正确的是( )。
A. 自上而下依次执行
B. 由里向外依次执行
C. 顺序控制结构必须有一个输入和一个输出
D. 顺序控制结构中不能包括其他程序控制结构
7. 下面满足“性别(xb)为女、年龄(nl)小于 18 岁、班级(bj)是 3 班”条件的语句为( )。
A.xb==女 and nl<18 and bj==3 班
B.xb=="女" and nl<18 and bj=="3 班"
23
C.xb=="女" and nl<18 or bj=="3 班"
D.xb=="女" or nl<18 and bj=="3 班"
8. 打印显示如图所示的图形,程序代码如下,则空缺部分应填
入( )。
for i in range( ):
print( ★ *i)
A.0,9,1 B.1,10,1 C.1,10,2 D.1,9,2
9. 在 Python 中,下面代码的运行结果是( )。
x=0
i=1
while i<=4:
if i==3:
break
i=i+1
x=x+1
print(x)
A.1 B.2 C.3 D.4
10. 有以下程序段,程序运行后,其输出结果为( )。
a=1
b=2
if b>=3:
a=a+b
b=b+a
print(a,b)
A.1 5 B.3 5 C.1 3 D.2 5
二、判断题
11. 元组是一种无序的数据类型。 ( )
12. 若有 a=[1,2,3,4,5],则表达式 a[2]+a[4]的值为 6。 ( )
13. 在 Python 中,定义函数的关键字是 def。 ( )
14. 在 Python 中,运算符+=的优先级要高于运算符*=。 ( )
15. 在 Python 中,语句缩进不缩进,不影响运行结果。 ( )
16. 在 Python 中,执行“int(1.9)”函数后的结果是 2。 ( )
17. 在 Python 中,for 语句中的循环体必须缩进两个空格。 ( )
24
必修一 数据与计算
18. 在循环中 continue 语句的作用是提前结束本次循环 ( )
19. 使用 set()可以创建一个空集合。 ( )
20. 在 Python 中,若有 while 1>0 :pass,则该循环是一个死循环。 ( )
三、应用题
21. 完善下面的 Python 程序,实现“韩信点兵”的民间故事。韩信有一千余不足一千一百
名士兵,“三三数之剩二,五五数之剩四,七七数之剩三”。韩信马上说出人数:1004。
#韩信点兵
for x in range(1000, ):
if :
if(x%5==4):
if(x%7==3):
print("士兵人数是:", )
22. 请用三种方法编写程序:任意输入两个整数变量 a、b,交换整数变量的值。(如 a=2,b=
3,输出 a=3,b=2)
23. 编程实现: 1 到 100 中奇数之和及偶数之和。
第五章 数据处理和可视化表达
一、认识大数据
1.大数据
大数据是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合。
2.大数据的特征
①从互联网产生大数据角度来看,大数据具有“4V”特征: 、 、
、 。
②从互联网思维角度来看,大数据具有三个特征: 、 、
25
第四章 程序设计基础
一、程序设计语言的基础知识
1、常量与变量
(1)指在程序运行过程中其值不能发生变化的量,通常是固定的数值或字符串。
(2)指在程序运行过程中其值可以发生变化的量
2、标识符
字母(A~Z,a~z)、数字(0~9)、下划线 字母或下划线
3、Python的数据类型
(1)Number(数值)型:
a.整型(int):
bin(x):将x转换为2进制。
oct(x):将x转换为8进制。
int(x):将x转换为10进制。
hex(x):将x转换为16进制。
(2)字符串(str):单引号或双引号
(3)列表(list): []
(4)元组(Tuple): ( )
(5)集合(set):{ }
(6)字典(Dictionary):{ } 健值对
4.Python的运算符与表达式
(1)算术运算符与算术表达式:+、 -、*、/、%、**和//
(2)逻辑运算符与逻辑表达式: “and”(与)、“or”(或)、not”(非)
(3)关系运算符与关系表达式:关系运算符有:>、>=、<、<=、==、!= True或False。
(4)赋值运算符与赋值表达式: =、+=、-=、*=、/=、%=、**=、//=
(5)成员运算符: in、not in
三、运用选择结构描述问题求解过程
冒号“:” 缩进。
四、运用循环结构描述问题求解过程
在Python语言中循环关键字常见有:while、for,循环控制关键词有:break、continue。
break是终止循环,continue是结束本次循环体的执行
五、随堂练习
(一)单项选择题
1-5BCACD 6-10ABCBC
(二)判断题
11-15✖✖✔✖✖ 16-20✖✖✔✔✔
(三)应用题
21.1100;x%3==2;x
22.
方法1:
(
a=int(input("请输入a的值=
"
))
b=int(input(
"
请输入b的值=
"
))
c = a
a = b
b = c
print(a, b)
)
方法2:
(
a=int(input(
"
请输入a的值=
"
))
b=int(input(
"
请输入b的值=
"
))
a = a + b
b = a - b
a = a - b
print(a, b)
)
方法3:
(
a=int(input(
"
请输入a的值=
"
))
b=int(input(
"
请输入b的值=
"
))
a,b=b,a
print(a,b)
)
23.
(
sum1 = 0
sum2 = 0
for i1 in range(1,100,2):
sum1 += i1
print(sum1)
for i2 in range(2,101,2):
sum2 += i2
print(sum2)
)
学科网(北京)股份有限公司
$$