python二级答案(10)
44、在考生文件夹下有个文件PY201.py,在横线处填写代码,完成如下功能。利用random库和turtle库,在屏幕上绘制5个圆圈,圆圈的半径和圆心的坐标由randint()函数产生,圆的X和Y坐标范围在[-100,100]之间;半径的大小范围在[20,50]之间,圆圈的颜色随机在color列表里选择。效果如下图所示。
45、在考生文件夹下有个文件PY202.py,定义了一个6个浮点数的一维列表lt1和一个包含3个数的一维列表lt2。
示例如下:
lt1=[0.69,0.292,0.33,0.131,0.61,0.254]
lt2=[0.1,0.8,0.2]
在横线处填写代码,完成如下功能。计算lt1列表跟lt2列表的向量内积,两个向量X=[x1,x2,x3]和Y=[y1,y2,y3]的内积计算公式如下:
k=x1y1+x2y2+x3*y3
将每次计算的两组对应元素的值、以及对应元素乘积的累计和k的值显示在屏幕上,格式如下所示。
第一步计算第一个k,分为2次累计lt2[0]*lt1[0+0],lt2[1]*lt1[0+1],lt2[2]*lt1[0+2]的和。
k=0.069,filter[0]=0.100,img[0+0]=0.690
k=0.303,filter[1]=0.800,img[0+1]=0.292
k=0.069,filter[2]=0.100,img[0+2]=0.330
…(略)
#
# 在____________上补充代码
# 请不要修改其他代码
#
import turtle as t #对turtle库中函数调用采用更简洁的形式
import random as r
color = ['red','orange','blue','green','purple']
r.seed(1)
for i in range(5): rad = r.randint(20,50) #在[20,50]之间生成一个半径值 x0 = r.randint(-100,100) y0 = r.randint(-100,100) t.color(r.choice(color)) t.penup() #提起画笔 t.goto(x0,y0) #移到绝对坐标处 t.pendown() #放下画笔 t.circle(rad)
t.done()
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
#请在.....处填写多行表达式或语句
#不得修改其他代码
img = [0.244, 0.832, 0.903, 0.145, 0.26, 0.452]
filter = [0.1,0.8,0.1]
res = []
for i in range(len(img)-2): k=0 #有多个和,所以每次赋初始值0 for j in range(3): #求3次累计和 k+=filter[j]*img[i+j] #求3次累计和 print('k={:<10.3f},filter[{}]={:<10.3f},img[{}+{}]={:<10.3f}'.format(k,j,filter[j],i,j,img[i+j])) res.append(k)
for r in res: print('{:<10.3f}'.format(r),end = '')
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
文章来源: blog.csdn.net,作者:yk 坤帝,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/qq_45803923/article/details/115377039
- 点赞
- 收藏
- 关注作者
评论(0)