【发布时间】:2026-01-30 09:30:01
【问题描述】:
**有人可以帮我找到更好的方法吗?
这是我的输出。用户必须输入他是否有要输入的新进程,如果是,则输入新进程,并且它必须附加到新列表中。但在我的情况下,在每次新的迭代之后,它都会被附加改为第一个列表。
Enter process name: 1
Enter process Arrival Time: 3
Enter Execution Time: 2
[['1', 3, 2]]
Enter process name: 2
Enter process Arrival Time: 4
Enter Execution Time: 3
[['1', 3, 2], ['2', 4, 3]]
enter new processy
ENTER TOTAL NUMBER OF PROCESSES: 1
Enter process name: 3
Enter process Arrival Time: 2
Enter Execution Time: 3
[['1', 3, 2, '3', 2, 3], ['2', 4, 3], []]
enter new process
----------------------------------------------
>This is my code
a = 0
#p = [['p1', 0, 2], ['p2', 1, 2], ['p3', 5, 3], ['p4', 6, 4]]
a2 = [0]
completion_time=[]
pp = []
tat=[]
waiting_time=[]
p = []
total_wtime = 0
n=0
def addnew():
n = int(input('ENTER TOTAL NUMBER OF PROCESSES: '))
for i in range(n):
p.append([])
p[i].append(input('Enter process name: '))
p[i].append(int(input('Enter process Arrival Time: ')))
p[i].append(int(input('Enter Execution Time: ')))
print('')
print(p)
ans="y"
while(ans=="y"):
addnew()
ans = input("enter new process")
【问题讨论】:
-
在你循环遍历列表时,有时会很想改变它;但是,创建一个新列表通常更简单、更安全。请参阅(循环技术)[docs.python.org/3/tutorial/… 永远不要在迭代列表时更改它。
-
感谢您的关注!在我之后你得到了一个更好的答案,并且不厌其烦地切换了“最佳答案”选项。这将对未来的 Stack Overflow 用户有所帮助。
标签: python list while-loop scheduling