国家二级Python(简单应用题)模拟试卷2
简单应用题
1.使用turtle库绘制红色五角星图形,效果如下图所示。阅读程序框架,补充横线处代码。
from turtle import *
setup(400,400)
penup()
goto(一100,50)
pendown()
color(’’red’’)
begin_fill()
for i in range(5):
forward(200)
right(144)
end_fill()
hideturtle()
done()
解析:
2.使用turtle库绘制叠加等边三角形,效果如下图所示。阅读程序框架,补充横线处代码。
这是一个简单应用题,使用turtle库绘制叠加等边三角形。主要考核turtle.pensize(width)和turtle.forward(distance)函数。第1个空填写内容为turtle.pensize(2)。turtle.pensize(width),别名turtle.width(width),设置画笔宽度width,当无参数输入时返回当前画笔宽度。第2个空填写内容为turtle.fd(160)。turtle.forward(distance)别名turtle.fd(distance),作用是向画笔当前行进方向前进distance距离。
解析:
3.获得输入正整数N,判断Ⅳ是否为质数,如果是则输出True,否则输出False。本题不考虑输入异常情况。
N=eval(input(’’请输入正整数:’’))
if N==1:
flag=False
print(flag)
else:
flag=True
for i in range(2,N):
if N%i==0:
flag==False
break
print(flag)
解析:
4.不考虑异常情况,编写程序从用户处获得一个浮点数输入,如果用户输入不符合,则要求用户再次输入,直至满足条件。打印输出这个输入。
while True:
N=input(’’请给出一个浮点数:’’)
if type(eval(N))==type(1.0):
print(eval(N))
break
解析:
5.使用turtle库绘制如下图的星形图形,效果如下图所示。
import turtle
for i in range(4):
turtle.circle(一90,90)
turtle.fight(180)
解析:
6.使用turtle库的turtle.fd()函数和turtle.seth()函数绘制螺旋状类正方形,正方形边长从1像素开始,第一条边从0°方向开始,效果如下图所示。阅读程序框架,补充代码。
import turtle
d=0
k=1
for j in range(10):
for i in range(4):
turtle.fd(k)
d+=91
turtle.seth(d)
k+=4
turtle.done()
解析:
7.使用字典和列表型变量完成某课程的考勤记录统计,某班有74名同学,名单由考生目录下文件Name.txt给出,某课程第一次考勤数据由考生目录下文件1.csv给出。请求出第一次缺勤同学的名单。请完善代码。
with open(’’1.csv’’,’’r’’,encoding=’’utf一8’’)as fo:
foR=fo.readlines()
(1)
for line in foR:
line=line.replace(’’\n’’,’’’’)
ls.append(line.split(’’,’’))
#从name.txt文件中读取所有同学的名单
with open(’’Name.txt’’,’’r’’,encoding=’’utf一8’’)as foName:
foNameR=foName.readlines()
lsAll=[]
for line in foNameR:
line=line.replace(’’\n’’,’’’’)
lsAll.append(line)
#求出第一次缺勤同学的名单
for 1 in ls:
#此段代码请完善
print(’’第一次缺勤同学有:’’,end=’’’’)
(2)
print(1,end=’’’)
with open(’’1.csv’’,’’r’’,encoding=’’uff一8’’)as fo:
foR=fo.readlines()
ls=[]
for line in foR:
line=line.replace(’’\n’’,’’’’)
ls.append(line.split(’’,’’))
with open(’’Name.txt’’,’’r’’,encoding=’’utf一8’’)as foName:
foNameR=foName.readlines()
lsAll=[]
for line in foNameR:
line=line.replace(’’\n’’,’’’’)
lsAll.append(line)
for 1 in ls:
if 1[0]in lsAll:
lsAll.remove(1[0])
print(’’第一次缺勤同学有:’’,end=’’’’)
for 1 in lsAll:
print(1,end=’’’’)
解析:
8.补充如下代码,计算a中各元素与b逐项乘积的累加和。
a=[[11,22,33],[44,55,66],[77,88,99]]
b=[33,66,99]
①
for c in a:
for j in ② :
s+=c[j]*b[j]
print(s)
a=[[11,22,33],
本文档预览:3600字符,共3758字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载