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()
#请在.....处填写多行表达式或语句
#不得修改其他代码
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 = '')