程序片段编程题
1. 题库:把数列的元素重复n次,然后元素的平方形成新列表,然后去除重复元素
【问题描述】
读入一个整数列表和正整数n(n>1),把列表中每个元素重复n次,并对每个元素进行平方形成新的列表,最后去除列表中的重复元素。打印输出新列表。
【输入形式】
第一行输入列表,包括方括号,元素之间用逗号分隔。
第二行输入重复的次数。
【输出形式】
直接用print输出列表
【样例输入】
[2,3,4,5,5]
5
【样例输出】
[4, 9, 16, 25]
ls = eval(input())
n = eval(input())
# 重复列表元素n次
ls2=[];
for i in range(n):
ls2+=ls
ls3 = [x*x for x in ls2]
# 下面代码去除重复元素
ls4=[]
for x in ls3:
if not x in ls4:
ls4.append(x)
print(ls4)
2. 题库:找出列表中的多数元素
【问题描述】
读入一个大小为n的列表,找出其中的多数元素。多数元素是指在列表中出现次数大于n//2的元素(每个列表最多一个多数元素)。根据代码框架编写一个函数。
【输入形式】
输入列表,包括方括号,逗号分隔
【输出形式】
如果有多数元素,输出这个元素的值,如果没有多数元素,输出False
【样例输入】
[3,2,3]
【样例输出】
3
def search(y):
for x in y:
if(y.count(x)>(len(y)//2)):
return x;
return False;
nums = eval(input())
y = search(nums)
print(y)
3. 题库:找出不是两个列表中的共有元素,在结果列表升序没有重复元素
【问题描述】
给定两个整型列表,找出不是两者共有的元素。这些元素不重复的放入新的列表,并升序排列。输出结果列表
【输入形式】
第一行输入一个列表,包括方括号,逗号分隔
第二行输入一个列表,包括方括号,逗号分隔
【输出形式】
直接用print打印结果列表
【样例输入】
[1,2,3,4,5,6,7,8,8,9,9]
[1,2,3,4,7,7,7,10,10]
【样例输出】
[5, 6, 8, 9, 10]
【样例说明】
在第一个列表中8,9有重复元素,在结果列表中只能有一个。第二个列表中的10也有重复元素,去除。升序排列元素。
nums1 = eval(input())
nums2 = eval(input())
nums3 = []
# 把不nums1中和nums2不重复的元素加入nums3
for x in nums1:
if x not in nums2:
if x not in nums3:
nums3.append(x);
# 把num2中的元素不重复的加入nums3
for x in nums2:
if x not in nums1:
if x not in nums3:
nums3.append(x)