测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A24979. 找缺失数在一个学校的年度校园活动中,组织者需要为参与者分配不同的编号,以便进行抽奖和其他活动。他们决定使用长度为n-1的列表a来存储参与者的编号,这些编号是从1到n的整数,且没有重复。现在,他们需要找出在区间[1,n]范围内没有出现在列表a中的那个整数,以便为这个编号进行特别的奖励。如当n=5时,a[0]=3,a[1]=4,a[2]=1,a[3]=5时,列表a中缺失的数为2。python代码如下…

填空题 困难

题目描述

找缺失数

在一个学校的年度校园活动中,组织者需要为参与者分配不同的编号,以便进行抽奖和其他活动。他们决定使用长度为n-1的列表a来存储参与者的编号,这些编号是从1到n的整数,且没有重复。现在,他们需要找出在区间[1,n]范围内没有出现在列表a中的那个整数,以便为这个编号进行特别的奖励。如当n=5时,a[0]=3,a[1]=4,a[2]=1,a[3]=5时,列表a中缺失的数为2。

python代码如下,请在划线处填上合适的代码.

from random import randint
n=int(input("请输入一个整数n:"))
a=[]
c=1
while c<n:
     x=randint(1,n)
     if          ①        :
         a.append(x) 
                 ②        
s=n*(n+1)//2    #s得到1~n的累加和
for i in range(n-1):
            ③        
print(a)
print("列表中缺失的数为:",s)

参考答案

from random import randint n = int(input("请输入一个整数n:")) a = [] c = 1 while c < n: x = randint(1, n) if x not in a: a.append(x) c+=1 s=n*(n+1)//2 #s得到1~n的累加和 for i in range(n-1): s= s-a[i] print(a) print('列表中缺失的数为:',s)

答案解析

评分标准

(1)x not in a 或等效答案;(3分)

(2)c+=1 或等效答案;(3分)

(3)s=s-a[i] 或等效答案。(4分)

上一题 下一题