Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python2.7,如何修复此代码,使程序在工作日将64乘以每个结果,在周末将80乘以每个结果?_Python_Python 2.7 - Fatal编程技术网

使用Python2.7,如何修复此代码,使程序在工作日将64乘以每个结果,在周末将80乘以每个结果?

使用Python2.7,如何修复此代码,使程序在工作日将64乘以每个结果,在周末将80乘以每个结果?,python,python-2.7,Python,Python 2.7,这是我的代码: days=["Sunday: ", "Monday: ", "Tuesday: ", "Wednesday: ", "Thursday: ", "Friday: ", "Saturday: "] Wdays=["Monday: ", "Tuesday: ", "Wednesday: ", "Thursday: ", "Friday: "] Wends=["Sunday: ", "Saturday: "] demand=[] temp=[] demand=[15, 20, 25,

这是我的代码:

days=["Sunday: ", "Monday: ", "Tuesday: ", "Wednesday: ", "Thursday: ", "Friday: ", "Saturday: "]
Wdays=["Monday: ", "Tuesday: ", "Wednesday: ", "Thursday: ", "Friday: "]
Wends=["Sunday: ", "Saturday: "]
demand=[]
temp=[]
demand=[15, 20, 25, 18, 20, 22, 14]
while demand[0]>0 or demand[1]>0 or demand[2]>0 or demand[3]>0 or demand[4]>0 or demand[5]>0 or demand[6]>0:
    min1=min(demand)
    ind1=demand.index(min1)
    temp=demand.copy()
    temp[ind1]=100000
    min2=min(temp)
    ind2=temp.index(min2)
    for i in range(7):
        if i != ind1 and i != ind2:
            demand[i]-=1
    print(demand)
for e in range(7):
    while demand[e]:
        if Wdays:
            demand[e]-=1*64
        else:
            demand[e]-=1*80
print(demand[e])`
  • 代码的第二部分似乎有错误:

    for e in range(7):
        while demand[e]:
            if Wdays:
                demand[e]-=1*64
            else:
                demand[e]-=1*80
    print(demand[e])
    
  • 但是我找不到它。目标是输出此信息,例如:

    [15, 19, 24, 17, 19, 21, 14]
    Weekdays: $6400
    Weekends: $2320
    
  • 其中,它将(1到5)中的数字相加并乘以 64,然后对(0和6)中的数字求和并乘以


  • 为什么要从值中减去64或80?
    如果Wdays:
    始终为
    True
    因为
    Wdays
    是非空列表。。您想在这里做什么?您从不打印
    “工作日:”
    “周末:”
    。。。您只打印需求[e]。。不知道你认为你的输出应该如何完成-特别是因为你的最后一个
    而demand[e]:
    是一个无止境的循环-demand[e]从来都不是0这将是一个错误的值我想修复代码的第二部分,因为它是错误的。我想对其进行组织/更改,使其首先输出数字(1-5)之和,然后再乘以64,然后输出数字(0和6)之和,然后再乘以80。如果需要,您可以完全删除代码的第二部分,因为它显然是错误的。那么
    打印(sum(demand[1:6])*64,sum(demand)*80)