我想在當前圖形中添加邊這是我的圖形代碼def mGraph(): graph = {'A': {'B': 1, 'C': 2}, 'B': {'C': 2, 'D': 1}, 'C': {'D': 1}, 'D': {'C': 2}, 'E': {'F': 1}, 'F': {'C': 2}} return graph這是添加邊功能def add_edge(graph, aa1, aa2): graph[aa1].update()[aa2] graph[aa2].update()[aa1] return graph我要求用戶輸入第一個節點和第二個節點def main(): graph = mGraph() option = '' while option != 'terminate': print(" a. Display") print(" c. Add Edges") option = input("Enter your option:") if option == "a": print(graph) if option == "c": a1 = input("First Edge") a2 = input("Second Edge") print(add_edge(graph, a1, a2))main()我想將兩條邊鏈接到當前圖形并想修改它們。如果用戶在“First Edge”中輸入 A,在“Second Edge”中輸入 D。我想看到圖表中的變化。用戶輸入應該反映在圖表上。我有這樣的錯誤Traceback (most recent call last): File "C:......", line 52, in <module> main() File "C:......", line 49, in main print(add_edge(graph, a1, a2)) File "C:......", line 25, in add_edge graph[aa1].update()[aa2]TypeError: 'NoneType' object is not subscriptable
1 回答
楊魅力
TA貢獻1811條經驗 獲得超6個贊
試試這個 :
def add_edge(graph, aa1, aa2):
first_value = graph[aa1].copy()
for k,v in first_value.items():
if aa2 in k:
graph[aa1].update({aa2:v+1})
break
else:
graph[aa1].update({aa2:1})
second_value = graph[aa2].copy()
for k,v in second_value.items():
if aa1 in k:
graph[aa2].update({aa1:v+1})
break
else:
graph[aa2].update({aa1:1})
return graph
- 1 回答
- 0 關注
- 155 瀏覽
添加回答
舉報
0/150
提交
取消
