学进去-教育应平等而普惠
试题
类型:操作题
难度系数:0.40
所属科目:高中信息技术
大部分社交软件都有好友推荐的功能,当用户 A 和用户 B 的共同好友数量超过阀值 p 时,由系统向用户 A 推荐用户 B。其中共同好友判定方法为:用户 A 和用户 B 不是好友,用户 C 分别是 用户 A 和用户 B 的好友, 则共同好友数量加 1。编写 Python 程序,实现好友推荐功能。运行程序, 首先从文件中读取用户 id 及好友列表后, 处理后显示用户之间的关系;再输入推荐目标用户 id 和阈值 p;最后显示向目标用户推荐的好友列表。

图 1 数据文件

图 2 运行结果

(1)根据如图所示数据,若输入推荐目标用户 id 为“1”,输入阈值为“4”,则推荐好友为:__
(2)主程序,读取"数据.txt"文件,进行处理后显示用户关系二维表,再输入推荐目标用户id和阈值p,显示向目标用户推荐的好友列表,请在划线处填入合适的代码。

n = 10

sj = [] ;zj = [];tj= []

#按行读取"数据.txt"文件,每次读一行文字存入字符串变量 line 中

f=open("数据.txt")

line=f.readline()       # 读取标题行

line=f.readline()

while line:·


sj.append(line.split(" "))   # 将字符串以" "为间隔分割成多个字符串组成的列表 line=f.readline()     #读取下一行

zj = zhengli(sj)

# 显示各用户之间关系二维表,代码略

# 输入推荐目标用户 id 和阈值 p,显示向目标用户推荐的好友列表

id = int(input("请输入推荐目标用户 id:"))

p = int(input("请输入阈值 p:"))

______            #调用函数进行好友推荐

if len(tj) != 0:

t = 0

     print("推荐好友为:",end = " ")

     while t < len(tj):

          print(tj[t],end = " ")

          t = t + 1

else:

     print("没有推荐好友")


(3)编写整理数据函数 zhengli,根据好友列表, 生产关系二维表,请在划线处填入合适的代码。
def zhengli(sj):

r = [[0 for i in range(n)]for j in range(n)]

for i in range(n):

for j in sj [i][1:]:

r[i][int(j)-1] = 1

______ # 对角位置同样设置为 1

return r


(4)编写函数 fenxi,根据输入推荐目标用户 id 和阈值 p,显示向目标用户推荐的好友列表,请在划线处填入合适的代码。

def fenxi(id,p):

res =[]

for i in range(n):

c = 0

for j in range(n):

if i != id-1 and j != id-1 and i != j:

if ______ :

c += 1

if _____ :

res.append(i+1)

return res

编辑解析赚收入
收藏
|
有奖纠错

同类型试题

优质答疑

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19
我要答疑
编写解析
解析:

奖学金将在审核通过后自动发放到帐

提交
我要答疑
我要答疑:
提交