使用列表似乎不能将星期几与数字匹配

2024-09-30 08:21:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着用列表来匹配一周中的某一天,但我不知道如何匹配。例如,我想让它知道第一天是星期一,第二天是星期二,第三天是星期三,第四天是星期四,第五天是星期五

我试过很多关于列表的东西,但我似乎不明白

这就是我想让它看起来的样子:

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(user_input)
            break
        else:
            print(f"Amount may not be negative. Try again:")
days = ('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday')




print ('\n')       

finalExpenses = sum(expenses)
average = finalExpenses / 5
maxExpenses = max(expenses)
minExpenses = min(expenses)

if finalExpenses < 100:
    print( "Sales too low for commission must earn more than 100$")
elif finalExpenses < 250:
    print ( "You get a commission of 25$")
elif finalExpenses < 500:
    print ( "You get a commission of 30$")
else:
    print ( "You get a commission of 40$")




print ("Maximum sales on is $" +str(maxExpenses))
print ("Minimum sales is $" +str(minExpenses))
print ("Total weekly sales were $" +str(finalExpenses))
print ("Average of the sales is $" +str(average))

我已经完成了所有的工作,除了将日期与数字进行匹配并按示例所示打印外

谢谢


Tags: offorinputisonprintentersales
2条回答

您可以从numpy模块使用argmaxargmin函数:

import numpy as np
finalExpenses = sum(expenses)
average = finalExpenses / 5
maxExpensesDay = np.argmax(expenses)
minExpensesDay = np.argmin(expenses)

if finalExpenses < 100:
    print( "Sales too low for commission must earn more than 100$")
elif finalExpenses < 250:
    print ( "You get a commission of 25$")
elif finalExpenses < 500:
    print ( "You get a commission of 30$")
else:
    print ( "You get a commission of 40$")

print ("Maximum sales on " + days[maxExpensesDay] + " is $" +str(expenses[maxExpensesDay]))
print ("Minimum sales on " + days[minExpensesDay] + " is $" +str(expenses[minExpensesDay]))
print ("Total weekly sales were $" +str(finalExpenses))
print ("Average of the sales is $" +str(average))

输出:

Enter sales for day
>22.45
Enter sales for day
>3.78
Enter sales for day
>47.39
Enter sales for day
>9.48
Enter sales for day
>22.45


You get a commission of 25$
Maximum sales on Wednesday is $47.39
Minimum sales on Tuesday is $3.78
Total weekly sales were $105.55000000000001
Average of the sales is $21.110000000000003

为了确保我正确理解问题,您有两个列表:

  • [10.22, 4.12, 3.78, 6.82, 22.45]
  • ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']

你想把第一张单子上的数字和第二张单子上的天数匹配起来

您需要的是list.index()方法:

maxExpenses = max(expenses)
index = expenses.index(maxExpenses)
day = days[index]

然后你的print()可以是:

print ("Maximum sales on ' + day + ' is $" +str(maxExpenses))

相关问题 更多 >

    热门问题