图的字典嵌套(python)

编写程序,实现图的字典嵌套表示,
每个顶点用一个字典表示。如下图中O点表示为:{‘O’: {‘A’:2,‘B’:5,C:4}},
其中表示一个顶点和该顶点相连的边及长度,
要求输出整个图的顶点数num_vertices、边的个数num_edges以及边的总长度len_edges。
在这里插入图片描述

顶点数等于所输入的num_vertices;
边数num_edges等于字典中字母的个数;
边的总长度len_edges等于所有数字之和

图的表示: 
{'o':{'a':2,'b':5,'c':4}} 
{'a':{'b':2,'d':7}} 
{'b':{'c':1,'e':3,'d':4}} 
{'c':{'e':4}} 
{'d':{'e':1,'t':5}} 
{'e':{'t':7}} 
{'t':{}}
#整个图的顶点数num_vertices
num_vertices = int(input("请输入顶点数:"))
#定义边的个数num_edges以及边的总长度len_edges
num_edges = 0
len_edges = 0
print("请输入图的字典的嵌套:")
#for循环取出字典内容
for i in range(num_vertices):
    # 图的字典的输入,dict内有{'O': {'A':2,'B':5,C:4}}
    # 每行输入表示一个顶点和该顶点相连的边及长度
    dict = eval(input())  # eval将str类型转换为int类型
    #一个顶点对应的边,取出value值,{'A':2,'B':5,C:4}
    for j in dict:
        #{'A':2,'B':5,C:4},将key,value赋值在temp,构成新的文件
        temp = dict [j]
        #取出key值
        for key in temp:
            num_edges += 1 #边的个数
            len_edges += temp[key] #边的长度
print(f"整个图的顶点数{num_vertices}、边的个数{num_edges}以及边的总长度{len_edges}")

运行结果图:
在这里插入图片描述

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值