0
我有一個排序和輸出問題。我不知道我該怎麼做。問題與排序和輸出
該方案的主要思想:乘客
- 輸入總量。
- 輸入單元格的總量。
- 輸入n次乘客的數據(基於第一個輸入) - 例如:Qwe 11:25 12:34。
- 輸出分類數據。輸出應該是這樣的:乘客的姓名,單元號。該方案的
n = int(input())
k = int(input())
data = []
for x in range(1,n+1):
data.append(input().replace(":"," ").split(" "))
for elem in data:
elem.append(int(elem[1])*60+int(elem[2]))
elem.append(int(elem[3])*60+int(elem[4]))
while len(elem)>3:
elem.pop(1)
if elem[1]>elem[2]:
raise SystemExit("time of issuing can not be lower than time putting")
示例輸入:
4
2
Qwe 12:45 16:30
Wer 13:55 17:50
Ert 6:25 12:55
Rew 22:55 23:30
輸出:
Ert 1
Qwe 2
Wer 2
Rew 1
「疫情週報」 也可以被跳過,因爲細胞的限制(這是一個開始鍛鍊,所以它並不意味着你需要一個能覆蓋所有東西的好代碼)。我可以嘗試解釋單元格是如何工作的,但我認爲從示例輸出中可以清楚地看出 - 它基於發佈時間和比較時間。
我想學習Python,並會很感激,如果有人會回答我應該怎麼做才能完成我的腳本,或者更確切地說使用另一個想法。
UPD: 我得到了這樣的事情:
data = sorted(data, key=lambda elem: elem[1])
for elem in data: #Just visual check
print(elem)
for x in data:
if j<=k:
if data[i][2]>data[i+1][1]:
print(data[i][0], j+1)
j+=1
i+=1
else:
j=0
print(data[i][0], j+1)
else:
j=0
但它仍然不是很我想要的。有任何想法嗎?
了類似 數據=排序(數據,鍵=拉姆達ELEM:ELEM [1]) 但任何想法我怎麼能正確地跟蹤手機號碼?我的意思是,需要比較elem [2]和next elem [1]並重復它?我很不確定我該怎麼做。 – 2013-04-06 10:08:40