我的python代码有点小问题。该程序是关于进程调度的,它将获得用户输入的进程数、到达时间和突发时间,但要求有一个动态列表(进程数),并**获得用户输入的到达和突发时间,如下所示
我编辑了上一篇文章,删除了所有不必要的代码,使代码更加精确,只是为了解决这个问题。
Case 1: If I run the program with 4 processes:
Enter No. Of Processes: 4
Arrival Time:
P1: 0
P2: 2
P3: 4
P4: 5
Burst Time:
P1: 7
P2: 4
P3: 1
P4: 4
[1,2,3,4,0,2,4,5,7,4,1,4]<;-输出
根据上面的输出,我想将其转换为
[1,0,7,0],[2,2,4,0],[3,4,1,0],[4,5,4,0]]
What I wanted is that the process data would be arranged in this way while still getting the inputs in for loop:
[process_id, arrival_time, burst_time, 0] -- I need to add a value of '0' for every end of a list
def initializeData(process_qty):
initialize_data = []
temporary = []
for i in range(process_qty):
process_id = i + 1
temporary.extend([process_id])
print("Arrival Time: ")
for i in range(process_qty):
arrival_time = int(input(" P" + str(i + 1) + ": "))
temporary.append(arrival_time)
print("Burst Time: ")
for i in range(process_qty):
burst_time = int(input(" P" + str(i + 1) + ": "))
temporary.append(burst_time)
initialize_data.extend(temporary)
print(initialize_data)
# I have good amounts functions and codes here
if __name__ == "__main__":
process_qty = int(input("Enter No. of Processes: "))
initializeData(process_qty)
有什么建议吗?我只是在学习python,并为此感到高兴
您应该在两个不同的列表中添加到达时间和突发时间,因为处理它们很容易
输出:
也可以应用更紧凑的解决方案,而无需使用3 for循环
我相信您要求的是一个更简单/更干净/pythonic的代码。下面是我如何读取输入的
我显然不能为您编写整个程序,但这应该可以帮助您朝着正确的方向开始
此外,函数式和面向对象的程序也很好,但不要过分。我发现你写的函数太多了。对于这样一个简单的程序,不建议编写单独的函数(至少不是那么多)
相关问题 更多 >
编程相关推荐