2 回答

TA貢獻1828條經驗 獲得超3個贊
您應該將到達時間和突發時間附加到兩個不同的列表中,因為它們很容易處理,
no_p=int(input("No of processes:"))
ar=list()
br=list()
final_list=list()
for i in range(no_p):
at=int(input("arrival time:"))
ar.append(at)
for j in range(no_p):
bt=int(input("burst time:"))
br.append(bt)
for k in range(no_p):
a=[k+1,ar[k],br[k],0]
final_list.append(a)
print(final_list)
輸出:
No of processes:4
arrival time:1
arrival time:2
arrival time:3
arrival time:4
burst time:1
burst time:2
burst time:3
burst time:4
[[1, 1, 1, 0], [2, 2, 2, 0], [3, 3, 3, 0], [4, 4, 4, 0]]
還可以在不使用 3 個 for 循環的情況下應用更緊湊的解決方案。

TA貢獻1906條經驗 獲得超10個贊
我相信您要求的是更簡單/更清潔/pythonic 代碼。下面是我將如何讀取輸入
n = int(input('Enter no of processes: ')) # n contains the number of processes
arrivals = list() # this list will contain the arrival times of the processes
bursts = list() # this will contain the burst times of the processes
for i in range(n):
arrivals.append(int(input(f'Enter arrival time for P{i+1}: ')))
for i in range(n):
bursts.append(int(input(f'Enter burst time for P{i+1}: ')))
我顯然不能為您編寫整個程序,但這應該可以幫助您朝著正確的方向開始。
此外,函數式和面向對象的程序很棒,但不要過度使用。我看到你寫了太多的功能。對于像這樣的簡單程序,不建議編寫單獨的函數(至少不要那么多)
添加回答
舉報