# coding:utf-8#JSRUN引擎2.0,支持多达30种语言在线运行,全仿真在线交互输入输出。 # 时段电量times = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24]times0 = times[:]
electricity1 = [10.52,10.24,10.216,10.128,10,10.344,10.104,10.464,13.448,11.096,7.344,3.064,5.096,5.848,6.024,7.04,8.832,10.24,10.432,13.4,16.424,15.832,14.184,11.432]times1 = ["平","平","平","平","平","平","平","平","平","平","平","深谷","深谷","深谷","平","平","平","尖峰","尖峰","尖峰","峰","峰","平","平"]times2 = [""] * 24
data = [0,"",0]*24
for t in range(0,24):
data[t] = times[t],times1[t],electricity1[t]data = [item for item in data if isinstance(item, tuple)]data0 = data[:]
for t in range(0,24):
if times1[t] == "深谷" or times1[t] == "尖峰":
times2[t] = times1[t]
data0[t] = data0[t][0],data0[t][1],-1# 使用sorted和lambda函数来同时考虑元素和它们的索引data0 = sorted(data0, key=lambda x: x[2])
for t in range(0,24):
if data0[0][2] == -1:
data0 = data0[1:]
data1 = [tup for tup in data0 if tup[1] == '平' or tup[1] == '谷']data2 = [tup for tup in data0 if tup[1] == '平' or tup[1] == '峰']index = len(data0)
index0 = (index - 12)//2while(index >= 14):
number = (data1[0][2] * 0.5) + (data2[len(data2)-1][2] * 1.5)
number0 = (data1[0][2] + data2[len(data2)-1][2])
if number0 < number:
for t in range(0,len(data)):
if data[t][0] == data1[0][0]:
q = data0.index(data1[0])
data0 = data0[:q] + data0[q+1:]
data[t] = (data[t][0], "gu", data[t][2])
times2[data1[0][0]-1] = "gu"elif data[t][0] == data2[len(data2)-1][0]:
q = data0.index(data2[len(data2)-1])
data0 = data0[:q] + data0[q+1:]
data[t] = (data[t][0], "feng", data[t][2])
times2[data2[len(data2)-1][0]-1] = "feng"data1 = [tup for tup in data0 if tup[1] == '平' or tup[1] == '谷']data2 = [tup for tup in data0 if tup[1] == '平' or tup[1] == '峰']index-=2print("--------------------------")
for t in range(0,len(data0)):
for i in range(0,len(data)):
if data[i][0] == data0[t][0]:
data[i] = (data[i][0], "ping", data[i][2])
times2[data[i][0]-1] = "ping"print(times2)
print("--------------------------")
for i in range(0,len(data0)):
print(data0[i][0],",",data0[i][1],",",data0[i][2])
print("--------------------------")
for i in range(0,len(data)):
print(data[i][1])