python練習題5.2圖的字典表示


捕獲.JPG

圖的字典表示。輸入多行字符串,每行表示一個頂點和該頂點相連的邊及長度,輸出頂點數,邊數,邊的總長度。比如上圖0點表示:
{'O':{'A':2,'B':5,'C':4}}。用eval函數處理輸入,eval函數具體用法見第六章內置函數。

輸入格式:

第一行表示輸入的行數 下面每行輸入表示一個頂點和該頂點相連的邊及長度的字符串

輸出格式:

在一行中輸出頂點數,邊數,邊的總長度

輸入樣例:

在這里給出一組輸入。例如:

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

 
 
 
         

輸出樣例:

在這里給出相應的輸出。例如:

4 5 35

代碼如下:

#!/usr/bin/python
# -*- coding: utf-8 -*-

n = int(input())
num = 0
sum = 0
for i in range(n):
    dic = eval(input())
    #eval函數在這里就是說明dic接收的是一個字典
    #print(dic)
    for j in dic:
        temp = dic[j]
        for key in temp:
            #計算邊數和邊總長度
            num += 1
            sum += temp[key]
print(n,num,sum)

這個程序不難,重在分析理解。

1、第一個循環,循環接收字典。

2、第二個循環,讓temp等於和該頂點相連的邊及長度的字符串

3、第三個循環,計算邊的數量、邊的長度。

寫起來不難,主要是前期的分析理解。


讀書和健身總有一個在路上


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM