【发布时间】:2019-03-10 04:09:49
【问题描述】:
我正在解决以下问题:
一家超市想要奖励每天最好的顾客,在超市的屏幕上显示顾客的名字。为此,客户的购买金额存储在一个列表中,客户的姓名存储在另一个列表中。实现一个函数 nameOfBestCustomer(sales, customers),它返回销售额最大的客户的姓名。编写一个程序,提示收银员输入所有价格和名称,将它们添加到两个列表中,调用您实现的方法并显示结果。使用 0 的价格作为标记。
我的以下代码工作正常,只是它没有考虑到多个客户的最大购买金额相同。关于如何轻松解决此问题的任何建议?我显然是 Python 新手,因此也欢迎您提出任何其他建议!谢谢!
sales = []
customers = []
def customerSales() :
salesEntry = 0.01
customersEntry = 0
while salesEntry > 0 :
salesEntry = float(input("Enter new purchase amount or a 0 to finish: "))
if salesEntry > 0 :
sales.append(salesEntry)
customersEntry = input("Enter customer name: ")
customers.append (customersEntry)
customerSales()
def nameOfBestCustomer(sales, customers) :
#@param: sales and customers lists
#@return: none
bestCustomer = ""
salesMax = 0
salesMax = max(sales)
index = sales.index(salesMax)
bestCustomer = customers[index]
print("The best customer of the day was " + bestCustomer + ".")
print("They spent $%.2f" % salesMax + ".")
nameOfBestCustomer(sales, customers)
【问题讨论】:
标签: python python-3.x