Впервые делаю проект на 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, но еще очень неопытен), поэтому любые советы приветствуются.>
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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