Вы не можете return
вне функции.На самом деле вам не нужно return
здесь:
prices = [7,1,5,3,6,4]
profit_loss = -float('inf')
for i in range(len(prices)-1):
change = prices[i+1] - prices[i]
if change > profit_loss:
profit_loss = change
print(profit_loss) # 4
Более идиоматично, чем позиционное индексирование, используйте zip
для итерации элементов prices
попарно:
for i, j in zip(prices, prices[1:]):
change = j - i
if change > profit_loss:
profit_loss = change
Более кратко, используйте max
с пониманием генератора:
profit_loss = max(j - i for i, j in zip(prices, prices[1:])) # 4
Или используйте функциональный эквивалент:
from operator import sub
profit_loss = max(map(sub, prices[1:], prices)) # 4