擅长:python、mysql、java
<p>试试这个:</p>
<pre><code>#initialise variables
products = []
totalCost = 0.0
#input products and prices funtions
def getInput():
product_name = input("What is the product?")
product_price = int(input("What s the price?"))
return (product_name, product_price)
#collect input
for x in range(5):
product = getInput()
products.append(product)
#sort list
products.sort(key=lambda t: t[1], reverse=True)
#show list
def showTable():
for x in range(5):
print("Product Name | Price: ", products[x])
#calculate cheapest
def cheapestItem():
print("The cheapest item in this list is: ", min(price))
print("Congratulations you get this item free")
price = []
for i in range(len(products)):
price.append(products[i][1])
totalCost = sum(price) - min(price)
print(totalCost)
#main
showTable()
cheapestItem()
</code></pre>
<p>不能将元组列表传递给sum()。它需要一个数字列表。你知道吗</p>