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}: ')))
我显然不能为您编写整个程序,但这应该可以帮助您朝着正确的方向开始。
此外,函数式和面向对象的程序很棒,但不要过度使用。我看到你写了太多的功能。对于像这样的简单程序,不建议编写单独的函数(至少不要那么多)
添加回答
举报