Впервые делаю проект на Python, реализующий Bellman-Ford, и я застрялPython

Программы на Python
Anonymous
Впервые делаю проект на Python, реализующий Bellman-Ford, и я застрял

Сообщение Anonymous »

Код: Выделить всё

import math
edges = [
("GBP", "USD", 1.35)
("GBP", "EUR", 1.15)
("USD", "GBP", 0.74)
("USD", "EUR", 0.85)
("EUR", "GBP", 0.87)
("EUR", "USD", 1.18)
("THB", "USD", 0.030)
("THB", "EUR", 0.025)
("THB", "GBP", 0.027)
]
arbitrage = []
transformed_edges = []
for v,w, rate in edges: #v being the start node, w being the end node
weight = -math.log(rate)
transformed_edges.append(v, w , weight)
def arbitrage_exists(vertices, edges, source):
distance = {v: float('inf') for v in vertices}
distance[source] = 0
for i in range(len(vertices) - 1):
for u, v, weight in transformed_edges:
if distance[u] + w < distance[v]:
distance[v] = distance[u] + w

for u, v, weight in transformed_edges:
if distance[u] + w < distance[v]:
arbitrage = (u, v, weight)
return True
return False
Это то, что у меня есть на данный момент: я впервые работаю над таким проектом на Python (и я давно не использую Python, но еще очень неопытен), поэтому любые советы приветствуются.>

Вернуться в «Python»