第1关 字符串去重排序
n = input()
a = list(set((n)))
a.sort()
a = ''.join(a).strip()
print(a)
第2关 列表去重
n = input().split(',')
a = []
[a.append(i) for i in n if i not in a]
print(a)
第3关 猜年龄
dig = (1, 2, 3, 4, 5, 6, 7, 8, 9, 0)
age1 = 0
age2 = 0
while age1 **3 < 10000:
age1 += 1
while True:
b = age2**4
if b >= 100000 and b < 1000000:
break
age2 += 1
for i in range(age2,age1):
num1 = i**3
num2 = i**4
set1 = set()
for j in str(num1):
set1.add(j)
for k in str(num2):
set1.add(k)
if len(set1) == len(dig):
print(i)
第4关 集合的属性、方法与运算
n = int(input()) # 输入一个正整数 n
name = input() # 吉林,湖北,湖南
MySet = set(name.split())
MyList = name.split()
for i in range(n):
ls = input().split() # 输入命令及参数,之间用空格分隔
if ls[0] == 'print': # 如要输入的命令是“print”,输出字典
print(sorted(list(MySet)))
elif ls[0] == 'update': # 如要输入的命令是“update”,更新ls[1]表示的键对应的值
MySet.update(set(ls[1:]))
elif ls[0] == 'add': # 如要输入的命令是“add”,增加一个键值对,题目确保输入的键在字典中不存在
MySet.add(ls[1])
elif ls[0] == 'del': # 如要输入的命令是“del”,删除字典中指定的键值对,键不存在时返回“键不存在”
MySet.discard(ls[1])
elif ls[0] == 'clear': # 如要输入的命令是“clear”,清空字典中全部元素
MySet.clear()
第5关 集合介绍
def average(array):
# 你的代码写在这里
return sum(set(array))/len(set(array))
if __name__ == '__main__':
arr = list(map(int, input().split()))
result = average(arr)
print(result)
第6关 手机销售统计
with open('/data/bigfiles/sale2019.csv', 'r', encoding='utf-8') as data2019:
sale2019 = [line.strip().split(',')[0] for line in data2019]
with open('/data/bigfiles/sale2018.csv', 'r', encoding='utf-8') as data2018: