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()

#请在.....处填写多行表达式或语句
#不得修改其他代码

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 = '')


  • 6
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yk 坤帝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值