Python组合数据类型学习

完成python pta的编程作业:

n = int(input())
vertices = set()
edges = 0
total_length = 0

for _ in range(n):
    line = input()
    vertex_dict = eval(line)
    vertex = list(vertex_dict.keys())[0]
    vertices.add(vertex)
    for neighbor, length in vertex_dict[vertex].items():
        vertices.add(neighbor)
        edges += 1
        total_length += length

print(len(vertices), edges, total_length)
input_str = input()
element_list = input_str.split()

reversed_str = ''.join(reversed(element_list))
print(reversed_str)

print(element_list)

reversed_elements = ' '.join(reversed(element_list))
print(reversed_elements)
a_class = set(input())
b_class = set(input().split())
acm_racers = set(input().split())
english_racers = set(input().split())
transfer_student = input()

all_students = a_class.union(b_class)
print(f"Total: {len(all_students)}")

not_in_race = all_students - acm_racers - english_racers
print(f"Not in race: {sorted(not_in_race)}, num: {len(not_in_race)}")

all_racers = acm_racers.union(english_racers)
print(f"All racers: {sorted(all_racers)}, num: {len(all_racers)}")

both_racers = acm_racers.intersection(english_racers)
print(f"ACM + English: {sorted(both_racers)}, num: {len(both_racers)}")

only_acm = acm_racers - english_racers
print(f"Only ACM: {sorted(only_acm)}")

only_english = english_racers - acm_racers
print(f"Only English: {sorted(only_english)}")

acm_or_english = only_acm.union(only_english)
print(f"ACM Or English: {sorted(acm_or_english)}")

if transfer_student in a_class:
    a_class.remove(transfer_student)
    print(sorted(a_class))
elif transfer_student in b_class:
    b_class.remove(transfer_student)
    print(sorted(b_class))
posted @ 2025-03-19 22:28  vivi_vimi  阅读(23)  评论(0)    收藏  举报