第5章-2 图的字典表示 (20分)【Python版本】

捕获.JPG

图的字典表示。输入多行字符串,每行表示一个顶点和该顶点相连的边及长度,输出顶点数,边数,边的总长度。比如上图0点表示:
{'O':{'A':2,'B':5,'C':4}}。用eval函数处理输入,eval函数具体用法见第六章内置函数。

输入格式:

第一行表示输入的行数 下面每行输入表示一个顶w点和该顶点相连的边及长度的字符串

输出格式:

在一行中输出顶点数,边数,边的总长度

输入样例:

在这里给出一组输入。例如:

4
{'a':{'b':10,'c':6}}
{'b':{'c':2,'d':7}}
{'c':{'d':10}}
{'d':{}} 

输出样例:

在这里给出相应的输出。例如:

4 5 35

【Python参考代码】

#By yangbo 2020.8.07
n=eval(input())
num,S = 0, 0
for i in range(n):#循环输入n次
    dic=eval(input())#脱去字符串的外套后 成为 字典
    for j in dic:#取键{'a': {'b': 10, 'c': 6}}
        temp=dic[j] #这取出键a对于的值 {'b': 10, 'c': 6}
        for key in temp:#取键 'b'  'c'
            num += 1
            S += temp[key]
print("{:d} {:d} {:d}".format(n,num,S))

猜你喜欢

转载自blog.csdn.net/qq_38689263/article/details/107860972