Python 使用列表似乎无法将周天数与数字匹配

Python 使用列表似乎无法将周天数与数字匹配,python,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

我试图用列表将一周中的某一天与数字进行匹配,但我不确定如何匹配。例如,我想让它知道第一天是星期一,第二天是星期二,第三天是星期三,第四天是星期四,第五天是星期五

我已经尝试了很多关于列表的方法,但我似乎无法理解

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

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))
除了将日期与数字匹配并按示例所示打印外,我还完成了所有工作


感谢您确保我正确理解问题-您有两个列表:

[10.22, 4.12, 3.78, 6.82, 22.45] [‘星期一’、‘星期二’、‘星期三’、‘星期四’、‘星期五’] 您需要将第一个列表中的数字与第二个列表中的日期进行匹配

您需要的是list.index方法:

然后您的打印可以是:

您可以使用numpy模块中的argmax和argmin函数:


好的,这是有道理的,我只是很困惑,我可以在我当前的代码中实现这一点,以使其正常运行。我试着摆脱这一切,但似乎无法摆脱it@KingDarmani对不起,我看错了这个问题。解决方案被重写了,我成功了,谢谢!我现在唯一的问题是它说的是正确的最小值,但它说的是错误的日期。例如,我会在第3天星期三输入一个最大值,在第5天星期五输入一个最小值,因为某些原因,它会说最大值和最小值都在星期三。注意。index返回匹配的第一个元素,所以,如果您有多个相同值的实例,则返回最早的一天。@KingDarmani:您正在重新计算索引吗?在重新计算索引之前,是否使用它的第一个值?你可能想要两个:min_索引和max_索引,这样它们就不会混淆了。我把它放进去,我得到了一个错误,没有一个模块名为numpyUsing numpy,因为这个问题是用大炮杀死蚊子。
maxExpenses = max(expenses)
index = expenses.index(maxExpenses)
day = days[index]
print ("Maximum sales on ' + day + ' is $" +str(maxExpenses))
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