Se seguir a resposta apresentada, no final a lógica fica errada caso exista algum produto com o mesmo preço.
Coletamos o valor dos três produtos
produto1 = float(input('Informe o preço do primeiro produto: '))
produto2 = float(input('Informe o preço do segundo produto: '))
produto3 = float(input('Informe o preço do terceiro produto: '))
Usamos o operador lógico and
para verificar qual o menor valor entre os 3 dados de produto, pois nos permite uma comparação de 3 entradas
if produto1 < produto2 and produto1 < produto3:
print('O primeiro produto é o mais barato.')
elif produto2 < produto1 and produto2 < produto3:
print('O segundo produto é o mais barato.')
else:
print('O terceiro produto é o mais barato.')