Python 使用循环、元组、列表、字典等的销售计算器
我正在尝试制作一个销售计算器,它可以显示不同的内容,例如本周的最大销售额是多少,哪一天是多少,本周的最低销售额是多少,哪一天是多少,所有天数加起来的总销售额是多少,本周的平均销售额,以及不到100美元的0美元销售佣金,销售额在100美元至250美元之间为25美元,销售额在250美元至500美元之间为30美元,销售额超过500美元为40美元 我尝试了不同的方法来计算平均值,但无法实现,我不知道如何计算销售佣金,以及如何将最小值和最大值与它们发生的日期联系起来 这就是我目前所做的:Python 使用循环、元组、列表、字典等的销售计算器,python,Python,我正在尝试制作一个销售计算器,它可以显示不同的内容,例如本周的最大销售额是多少,哪一天是多少,本周的最低销售额是多少,哪一天是多少,所有天数加起来的总销售额是多少,本周的平均销售额,以及不到100美元的0美元销售佣金,销售额在100美元至250美元之间为25美元,销售额在250美元至500美元之间为30美元,销售额超过500美元为40美元 我尝试了不同的方法来计算平均值,但无法实现,我不知道如何计算销售佣金,以及如何将最小值和最大值与它们发生的日期联系起来 这就是我目前所做的: print ("
print ("Sales Calculator Program")
print ('\n')
expenses = []
for day_number in range (1, 5 + 1):
while True:
user_input = float(input(f"Enter sales for day {day_number}\n> "))
if user_input >= 0:
expenses.append(user_input)
break
else:
print(f"Amount may not be negative. Try again:")
print ('\n')
average = average(expenses)
finalExpenses = sum(expenses)
print ("Total weekly sales were $" +str(finalExpenses))
print ("Average of the sales is $" +str(average))
这就是我想让它看起来的样子:
Enter sales for day 1: 10.22 (User input)
Enter sales for day 2: 4.12 (User input)
Enter sales for day 3: 3.78 (User input)
Enter sales for day 4: 6.82 (User input)
Enter sales for day 5: 22.45 (User input)
Maximum sales was on Friday which is $22.45
Minimum sales was on Wednesday which is $3.78
Total weekly sales were $47.39
Average of the sales is $9.48
Sales too low for commission must earn more than $100
谢谢大家!
print ("Sales Calculator Program")
print ('\n')
expenses = []
for day_number in range (1, 5 + 1):
while True:
user_input = float(input(f"Enter sales for day {day_number}\n> "))
if user_input >= 0:
expenses.append((day_number,user_input))
break
else:
print(f"Amount may not be negative. Try again:")
print ('\n')
max = max(expenses, key=lambda x: x[1])
min = min(expenses, key=lambda x: x[1])
total = sum(map(lambda x: int(x[1]), expenses))
average = total/len(expenses)
for item in expenses :
if item[0] == 1:
Monday ...
对于其余的,你应该试试自己,现在你可以使用最大最小和等。。。在这里询问之前,请尝试了解一些内置函数:))
对于其余的,你应该试试自己,现在你可以使用最大最小和等。。。在询问以下问题之前,请尝试了解一些内置函数:)您可以这样做
print ("Sales Calculator Program")
print ('\n')
expenses = []
for day in range(1, 6):
while True:
sales = float(input(f"Enter sales for day {day}\n> "))
if sales >= 0:
expenses.append((sales, day))
break
else:
print(f"Amount may not be negative. Try again:")
print ('\n')
days = ['', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
maxval = max(expenses, key=lambda x: x[0]) # could also use operator.itemgetter
minval = min(expenses, key=lambda x: x[0])
total = sum(e[0] for e in expenses)
average = total / len(expenses)
print('Maximum sales was on %s which is $%.2f' % (days[maxval[1]], maxval[0]))
print('Minimum sales was on %s which is $%.2f' % (days[minval[1]], minval[0]))
print ("Total weekly sales were $%.2f" % total)
print ("Average of the sales is $%.2f" % (average))
if total < 100.0:
print('Sales too low for commission must earn more than $100')
print(“销售计算器程序”)
打印(“\n”)
费用=[]
对于范围(1,6)内的日期:
尽管如此:
销售=浮动(输入(f“输入{day}\n>日的销售额”)
如果销售额>=0:
费用。追加((销售额,日))
打破
其他:
打印(f“金额不能为负数。请重试:)
打印(“\n”)
天数=[''‘星期一’、‘星期二’、‘星期三’、‘星期四’、‘星期五’]
maxval=max(expenses,key=lambda x:x[0])#也可以使用operator.itemgetter
minval=min(费用,关键字=lambda x:x[0])
总计=总额(e[0]表示费用中的e)
平均值=总额/长度(费用)
打印(“%s”上的最大销售额为%.2f%%(天[maxval[1]],maxval[0]))
打印(“%s”上的最低销售额为$%.2f%%(天[minval[1]],minval[0]))
打印(“每周总销售额为%.2f$%总计)”
打印(“平均销售额为%.2f”%(平均))
如果总数<100.0:
打印(‘佣金太低的销售收入必须超过100美元’)
将带有日索引的日值存储在元组中。然后,您可以使用带有键函数的max
或min
选择元素0作为计算max/min时使用的元素。打印时,元组中的第二个元素可用于索引到days
数组中以获取日期名称
平均值的计算应该是不言自明的
请注意,浮点数不适合在任何需要正确的应用程序中存储货币值。相反,可以用美分/便士来存储值或使用。您可以这样做
print ("Sales Calculator Program")
print ('\n')
expenses = []
for day in range(1, 6):
while True:
sales = float(input(f"Enter sales for day {day}\n> "))
if sales >= 0:
expenses.append((sales, day))
break
else:
print(f"Amount may not be negative. Try again:")
print ('\n')
days = ['', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
maxval = max(expenses, key=lambda x: x[0]) # could also use operator.itemgetter
minval = min(expenses, key=lambda x: x[0])
total = sum(e[0] for e in expenses)
average = total / len(expenses)
print('Maximum sales was on %s which is $%.2f' % (days[maxval[1]], maxval[0]))
print('Minimum sales was on %s which is $%.2f' % (days[minval[1]], minval[0]))
print ("Total weekly sales were $%.2f" % total)
print ("Average of the sales is $%.2f" % (average))
if total < 100.0:
print('Sales too low for commission must earn more than $100')
print(“销售计算器程序”)
打印(“\n”)
费用=[]
对于范围(1,6)内的日期:
尽管如此:
销售=浮动(输入(f“输入{day}\n>日的销售额”)
如果销售额>=0:
费用。追加((销售额,日))
打破
其他:
打印(f“金额不能为负数。请重试:)
打印(“\n”)
天数=[''‘星期一’、‘星期二’、‘星期三’、‘星期四’、‘星期五’]
maxval=max(expenses,key=lambda x:x[0])#也可以使用operator.itemgetter
minval=min(费用,关键字=lambda x:x[0])
总计=总额(e[0]表示费用中的e)
平均值=总额/长度(费用)
打印(“%s”上的最大销售额为%.2f%%(天[maxval[1]],maxval[0]))
打印(“%s”上的最低销售额为$%.2f%%(天[minval[1]],minval[0]))
打印(“每周总销售额为%.2f$%总计)”
打印(“平均销售额为%.2f”%(平均))
如果总数<100.0:
打印(‘佣金太低的销售收入必须超过100美元’)
将带有日索引的日值存储在元组中。然后,您可以使用带有键函数的max
或min
选择元素0作为计算max/min时使用的元素。打印时,元组中的第二个元素可用于索引到days
数组中以获取日期名称
平均值的计算应该是不言自明的
请注意,浮点数不适合在任何需要正确的应用程序中存储货币值。相反,将值存储为分/便士或使用。用于最小值和最大值。内置的最小值和最大值将需要太多的工作(它们返回值,而不是列表中需要计算出哪一天的索引),写下你自己的,返回列表中的索引。@Paul Rooney除了能够返回一周中的某一天之外,我还做了很多工作。我知道我需要它来匹配1是星期一,2是星期二,3是星期三,4是星期四,5是星期五,但我不知道怎么做,我在过去的几个小时里一直在尝试最小值和最大值。内置的最小值和最大值将是太多的工作(它们返回的是值,而不是列表中的索引,您需要计算出它是哪一天),写下你自己的,返回列表中的索引。@Paul Rooney除了能够返回一周中的某一天之外,我还做了很多工作。我知道我需要它来匹配1是星期一,2是星期二,3是星期三,4是星期四,5是星期五,但我不知道如何做我已经试了几个小时了