Python完全新手教程图文Word格式.docx
- 文档编号:7106540
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:17
- 大小:690.45KB
Python完全新手教程图文Word格式.docx
《Python完全新手教程图文Word格式.docx》由会员分享,可在线阅读,更多相关《Python完全新手教程图文Word格式.docx(17页珍藏版)》请在冰点文库上搜索。
B.应该写成"
chinese"
=51study
C.“chinese”应该写成“chinaˈs”
D.变量名51study不符合python语言规范,变量名不能以数字开头
9.以下python程序段运行后,y的值是()
x=3
ifx>
3:
y=2*x
else:
y=3*x+1
print(y)
A.10B.5C.25D.26
10.下列选项中,不属于Python合法变量名的是()
A.int32B.40xlC.selfD._name_
11.已知字符串s1="
python"
,s2="
Python"
,则表达式中s1>
s2的值为()
A.“python”B.“Python”C.TrueD.False
12.下列关于算法说法不正确的是()
A.算法独立于任何具体的语言,Python算法只能用Python语言来实现
B.解决问题的过程就是实现算法的过程
C.算法是程序设计的“灵魂”
D.算法可以通过编程来实现
13.运行如下Python程序,结果为()。
A.1B.3C.6D.18
14.在Python代码中表示“x属于区间[a,b)”的正确表达式是()。
A.a≤xandx<bB.n<=xorx<bC.x>=aandx<bD.x>=aandx>b
15.在Python中print(-14//4)的运行结果是()。
A.-4B.-3.5C.2D.-2
二、程序填空
16.某市普通高中选课数据如图1所示,学生从地理、化学、生物等科目中选择三门作为高考选考科目,“1”表示已选择的选考科目。
使用Python编程分析每所学校各科目选考的总人数、全市各科选考总人数及其占比,经过程序处理后,保存结果如图2
图1
图2
实现上述功能的Python程序如下:
importpandasaspd
importitertools
#读数据到pandas的DataFrame结构中
df=________(”xk73.csv”,sep=‘.’,header=‘infer’,encoding=‘utf-8’)
km=[‘物理’,‘化学’,‘生物’,‘政治’,‘历史’,‘地理’,‘技术’]
#按学校分组计数
sc=df.groupby(‘___________’,as_index=False).count()
#对分组计数结果进行合计,合计结果转换为DF结构并转置为行
df_sum=pd.DataFrame(data=sc.sum()).T
df_sum[‘学校代码’]=‘合计’
#增加"合计"行
result=sc.append(df_sum)
#百分比计算
df_percent=df_sum
df_percent[‘学校代码’]=‘比例’
forkinkm:
per=df_percent.at[0,k]/zrs
df_percent[k]=per
#增加"百分比"行
result=result.append(df_percent)
#删除"姓名"列
result=______________
#修改"学生编号"为"总人数"
result=result.rename(columns={‘学生编号’:
‘总人数’})
#保存结果,创建Excel文件.生成的Excel文件
result.to_excel("学校人数统计.xlsx")
(1)请在划线处填入合适的代码:
(2)加框处语句的作用是__________________
17.程序设计:
唐三藏又被妖怪抓走了,这次孙悟空还是没打得过妖怪,于是来求观音菩萨。
观音菩萨告诉孙悟空,在天庭里身高正好为1000米的那位神仙可以降伏此妖。
于是悟空立刻来到天上,在玉皇大帝的神仙册上看到了按身高从矮到高排列有10000个神仙。
由于时间紧迫,悟空想用最短的时间找到这位神仙,这样才可以尽快解救唐僧。
代码如下:
List=list(map(int,input(“请按身高递增顺序依次输入10000个神仙的身高”).split()))
left=1
right=10000
while①
mid=②
ifList[mid]==1000:
③
elifList[mid]<1000:
④
else:
⑤
print(“能帮孙悟空的神仙在第{0}位上”.format(mid+l))
(1)程序代码中①处正确的代码是(_______)。
A.left<rightB.left<=rightC.left!
=rightD.left>right
(2)程序代码中②处正确的代码是(_______)。
A.(left+right)/2B.(left+right)\2
C.(left+right)//2D.(left+right)\\2
(3)程序代码中③处正确的代码是(_______)。
A.passB.print(mid)zC.breakD.continue
(4)程序代码中④处正确的代码是(_______)。
-
A.left=midB.right=midC.left=mid+1D.right=mid-1
(5)程序代码中⑤处正确的代码是(_______)。
18.程序设计:
在舞会上,男生、女生各自排成一队。
舞会开始时,依次从男队和女队的队头各出一人配成舞伴。
跳完后的两人重新回到队尾。
例如:
boy=['
Alex'
'
Steven'
Jack'
],girl=['
Ada*,'
Babs'
.,'
Danla'
Jane'
]
输出:
Turn1:
(Alex,Ada)
Turn2:
(Steven,Babs)
Turn3:
(Jack,Danla)
Turn4:
(Alex,jane)
……
Turn12:
(Jack,jane)
‘Jack'
girl=['
Ada'
foriinrange(12):
x,y=①#出队
print(“Turn{:
2}):
({},{})"
.format(i+1,x,y))
boy.append(②)#再进队
girl.append(③)#再进队
A.boy.pop(l).girl.pop(l)B.girl.pop(l),boy.pop(l)
C.boy.pop(0),girl.pop(0)D.girl.pop(0),boy.pop(0)
A.xB.yC.iD.i+1
19.编写程序,找到并输出100以内的偶数个数。
20.约瑟夫问题是个有名的问题:
N个人围成一圈,顺序为0,1,2,3,4,5,从0号这个人开始报数,报到2的将被杀掉,接下去重新开始报数,报到3的将被杀掉...以此类推,最后剩下一个,其余人都将被杀掉。
例如N=6,被杀掉的顺序是:
1,4,3,0,5;
最后只剩下2这个人。
llist=
n=int(input(“请输入参与人数:
”))
foriinrange(0,n-1):
llist.append([i,i+1])
___________
long=n
k=head
i=1
p=2
while(____):
ifi==p-1:
t=llist[k][1]
print(llist[t][0])#索引为t的删除
__________________
ift==head:
___________________
i=1
p+=1
long=long-1
k=llist[k][1]
______________
i+=1
print(llist[head][0])
21.阅读程序。
foriinrange(1,10):
forjinrange(1,i+1):
print("
%dX%d=%2d"
%(j,i,j*i),end="
"
)
print()
(1)在第一行程序中,变量i的数据范围为_____到____。
(2)在第二行的程序中,变量j的数据范围为_____到____。
(3)如果“%d”表示十进制数,那么%2d则表示____位宽的十进制数。
(4)第三行程序改为print("
%(i,j,i*j),end="
),则本题的输出应该是_____。
(5)如果最后一行的print()表示换行,那么end=””的功能是_______。
【参考答案】***试卷处理标记,请不要删除
1.B
【详解】
本题主要考查Python的运算。
Python中幂运算(指数运算)的运算符为**,故本题选B选项。
解析:
B
2.D
本题主要考查Python变量。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字;
变量能存储的数据很多,包含存储汉字,在Python中,定义变量是不需要指定数据类
D
变量能存储的数据很多,包含存储汉字,在Python中,定义变量是不需要指定数据类型的,但Python本身是有数据类型的,它的数据类型可分为数字型和非数字型;
数据类型是可以强制转换的;
变量被第二次赋值后,会覆盖原有的数据,故本题选D选项。
3.D
本题考查的是流程图相关知识。
圆角矩形用来表示程序的开始和结束,矩形用来表示处理框,菱形用来表示判断,平行四边形用来表示输入、输出。
故本题应选D。
4.C
本题考查的是Python代码程序。
本题的关键点是range()函数,其取到的区间数值为前闭后开,所以为1-99的整数。
循环过程就是执行1-99所有整数的求和过程。
故答案为C。
C
5.D
本题主要考查Python输出函数。
在python中,语句print(a,b)的意思是输出a,b的值,故本题选D选项。
6.D
本题主要考查Python表达式。
12*3%5=1,len(“Welcome”)=7,int(3.9)=3,abs(-8)=8,故本题选D选项。
7.C
本题主要考查Python语句。
只能以字母或下划线开头,不能包含特殊符号,不能是关键字。
单行代码注释以#开始,语句j,b=b,j表示交换b与j的值,故本题选C选项。
8.D
本题考查的是程序调试。
报错内容是“语法错误:
无效语法”,变量名51study,数字不能作为变量名的开头,故D项正确。
9.A
本题主要考查Python程序的执行。
x=3,不满足x>
3,执行y=3*x+1=10,故本题选A选项。
A
10.B
本题主要考查Python变量名。
Python需要使用标识符给变量命名,需要注意如下规则:
标识符可以由字符、数字、下划线(___)组成,其中数字不能开头。
标识符不能是Python关键字(
标识符不能是Python关键字(又称为保留字),但可以包含关键字;
区分大小写。
因此B选项正确。
【点睛】
11.C
本题主要考查Python字符串。
比较字符串的大小,是将两个字符串的字符一一比较它们的ASCII值,小写字母的ASCII值大于大写字母,故表达式中s1>
s2的值为True,故本题选C选项
s2的值为True,故本题选C选项。
12.A
本题考查的是算法相关知识。
所谓“算法”就是解题方法的精确描述,由有限个步骤组成。
算法独立于任何具体的语言,但Python算法也可以用其他语言来实现,故选项A错误;
解决问题的过程就是实现
解决问题的过程就是实现算法的过程。
算法可以通过编程来实现。
算法是程序设计的核心,即是程序设计的“灵魂”。
故应选A。
13.C
本题主要考查Python循环结构。
分析程序可知,该程序求m、n的最大公约数,程序结束后m=6,此时r=0,故本题选C选项。
14.C
Python表达式中,大于等于运算符用“>
=”表示,故“x属于区间[a,b)”的正确表达式是x>=aandx<b,故本题选C选项。
15.A
本题主要考查Python表达式的运算。
运算符//表示向下取整,-14//4=-4,14//4=3,故本题选A选项。
16.pd.read_csv学校代码result.drop(‘姓名’,axis=1)将总人数存储到变量zrs中
本题主要考查Python程序的执行与调试。
①将csv文件读入并转化为数据框形式,故填pd.read_csv。
②groupby函数主要的作用是进行数据的分组,此处按学校分组计数,故填学校代码。
③此处删除"姓名"列,可以使用drop()函数来删除,故填result.drop(‘姓名’,axis=1)。
④zrs=len(df.index),该语句是统计df内有多少个元素,即将总人数存储到变量zrs中。
17.BCCCD
本题主要考查二分查找算法及Python程序实现。
①二分查找的循环条件是left<=right,故选B选项。
②此处是取中间值,需要整除2,故填(left+right)//2
,故选C选项。
③如果mid对应的列表值是1000,表示已找到,则用break跳出循环,选C选项。
④如果mid对应的列表值小于1000,则需要更新left的值为mid+1继续循环,选C选项。
⑤否则更新right的值为mid-1,选D选项。
18.CAB
本题主要考查队列数据结构及Python程序。
①队列是从队头出队,队尾入队,使用pop函数出队,队头的索引值是0,故此处填boy.pop(0),girl.pop(0)。
②队列入队使用append方法追加到队列尾,此处是男生入队boy.append(x),故选A选项。
③同理,此处是女生入队girl.append(y),故选B选项。
19.c=0
foriinrange(1,101):
ifi%2==0:
c=c+1
print(c)
本题主要考查程序设计。
题干要求可通过Python程序设计实现,通过for循环以及if判断条件可统计出100以内的偶数个数,具体代码如下:
c=0
20.llist.append([n-1,0])head=0long>
1head=llist[k][1]llist[k][1]=llist[t][1]k=llist[k][1]
本题主要考查Python程序执行与调试。
①for循环体是将索引0-n追加到llist中,此处是循环体执行完,将末元素与首元素的索引加入到llist中,故填llist.append([n-1,0])。
②head是列表头,初始化为0,故填head=0。
③最后剩下一个,其余人都将被杀掉,故循环条件是long>
1,变量long控制元素个数,故填long>
1。
④索引为t的删除后,此处是更新head值,故填head=llist[k][1]。
⑤删完后,如果t等于head,需要更新索引k,将索引t的值赋给变量k,故填llist[k][1]=llist[t][1]。
⑥如果t不等于head,也需要更新索引k,故填k=llist[k][1]
21.91i2
末尾不换行,添加空格
(1)在第一行程序中(foriinrange(1,10):
),变量i的数据范围为1到9。
(2)同理,在第二行的程序中(forjinrange(1,i+1):
),变量j的数据范围为1到i。
(3)如果“%d”表示十进制数,那么%nd则表示n位宽的十进制数,%2d则表示2位宽的十进制数。
),则本题的输出应该是
,i与j的位置进行了交换,如1X2=2变为2X1=2。
(5)如果最后一行的print()表示换行,那么end=””的功能是末尾不换行,添加空格。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Python 完全 新手 教程 图文