头歌实践教学平台Python-Python第七章集合与字典作业

发布于:2024-05-30 ⋅ 阅读:(47) ⋅ 点赞:(0)

第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: