Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def max_items(items, money):
- # Classificar os itens em ordem crescente de preço
- sorted_items = sorted(items, key=lambda x: x[1])
- # Iniciar uma variável contador de itens comprados
- count = 0
- # Iniciar uma lista para armazenar os itens comprados
- chosen_items = []
- # Percorrer a lista de itens em ordem crescente de preço
- for item in sorted_items:
- # Verificar se o dinheiro restante é maior ou igual ao preço do item
- if money >= item[1]:
- # Incrementar o contador de itens comprados
- count += 1
- # Adicionar o item à lista de itens comprados
- chosen_items.append(item[0])
- # Subtrair o preço do item do dinheiro restante
- money -= item[1]
- # Se o dinheiro restante for insuficiente para comprar o item, passar para o próximo item
- else:
- continue
- # Retornar o número máximo de itens que podem ser comprados, os itens escolhidos e o dinheiro restante
- return count, chosen_items, money
- def print_items(items, chosen_items, money_left):
- # Criar uma lista com os itens escolhidos e seus preços
- chosen_items_with_price = [(item[0], item[1]) for item in items if item[0] in chosen_items]
- # Ordenar a lista em ordem alfabética dos produtos
- chosen_items_with_price = sorted(chosen_items_with_price, key=lambda x: x[0])
- # Imprimir a nova lista
- for item in chosen_items_with_price:
- print(item[0], item[1])
- # Imprimir o dinheiro que sobrou
- print(money_left)
- items = [("CARRINHOS", 999.99), ("PRATELEIRAS", 570.00),("ESTANTES", 359.99), ("CAIXAS_C_ESTEIRA", 3900)]
- money = 5000.00
- count, chosen_items, money_left = max_items(items, money)
- print_items(items, chosen_items, money_left) # Saída: item1 10, item2 5, item4 15, 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement