国家二级Python(简单应用题)模拟试卷3
简单应用题
1.使用turtle库绘制正方形螺旋线,效果如下图所示。阅读程序框架,补充横线处代码。
import turtle
n=10
for i in range(1,10,1):
for j in[90,180,-90,0]:
turtle.seth(j)
turtle.fd(n)
n+=5
解析:
2.使用turtle库绘制八角星形,效果如下图所示。阅读程序框架,补充横线处代码。
import turtle as t
t.colormode(255)
t.color(255,215,0)#设置颜色取值为金色(255,215,0)
t.begin_fill()
for x in range(1,9): #绘制8条线
t.forward(200)
t.left(225)
t_end_fill()
t.hideturtle()
t.done()
解析:
3.获得输入正整数N,计算其各位数字的平方和,直接输出结果。本题不考虑输入异常情况。
N=input(’’请输入正整数:’’)
s=0
for c in N:
s+=eval(c)**2
print(s)
解析:
4.考虑异常情况,编写程序从用户处获得一个浮点数输入,如果用户输入不符合,则要求用户再次输入,直至满足条件。打印输出这个输入。
while True:
try:
N=input(’’请给出一个浮点数:’’)
if type(eval(N))==type(1.0):
print(eval(N))
break
except:
N=input(’’请给出一个浮点数:’’)
解析:
5.使用turtle库绘制如下图的斯洛克图形,效果如下图所示。
import turtle
def drawCircle():
turtle.pendown()
turtle.circle(20)
turtle.penup()
turtle.fd(40)
def drawRowCircle(n):
for j in range(n,1,一1):
for i in range(j):
drawCircle()
turtle.fd(-j*40—20)
turtle.right(90)
turtle.fd(40)
turtle.left(90)
turtle.fd(40)
drawCircle()
drawRowCircle(5)
turtle.hideturtle()
turtle.done()
解析:
6.使用turtle库的turtle.fd()函数和turtle.seth()函数绘制嵌套五边形,边长从1像素开始,第一条边从0°方向开始,边长按照3个像素递增,效果如下图所示。阅读程序框架,补充代码。
import turtle
edge=5
d=0
k=1
for j in range(10):
for i in range(edge):
turtle.fd(k)
d+=360/edge
turtle.seth(d)
k+=3
turtle.done()
解析:
7.请对《阿甘正传一网络版》进行中文分词,排除单个字符的分词结果,输出排序后的前10的词语。请完善代码。
import jieba
txt=open(’’阿甘正传一网络版.txt’’,’’r’’,encoding=’’utf-8’’).read()
①
counts={}
for word in words:
#此段代码请完善
items=list(counts.items())
items.sort(key=lambda x:x[1],reverse=True)
for i in range(10):
word,count=items[i]
print(’’{0}:{1}’’.format(word,count))
import jieba
txt=open(’’阿甘正传一网络版.txt’’,’’r’’,encoding=’’utf一8’’).read()
words=jieba.lcut(txt)
counts={}
for word in words:
if led(word)==1:
continue
else:
counts[word]=counts.get(word,0)+1
items=list(counts.items())
items.sort(key=lambda x:x[1],reverse=True)
for i in range(10):
word,count=items[i]
print(’’{0}:{1}’’.format(word,count))
解析:
8.补充如下代码,计算向量a与向量b的乘积,即对应元素乘法的累加和,并将结果输出。
a=[11,22,33,44,55,66,77,88,99]
b=[33,66,99,22,55,88,11,44,77]
(请补充之后的代码)
a=[11,22,33,44,55,66,77,88,99]
b=[33,66,99,22,55,88,11,44,77]
s=0
for i in range(len(a)):
s+=a[i]*b[i]
print(s)
解析:
本文档预览:3600字符,共3467字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载