0
想象一下,上图中位于轨道输入侧的四个铁路车厢分别编号为1,2,3和4。假设我们执行以下操作顺序(它与图中箭头的方向兼容,并且不需要汽车“跳过”其他汽车):列表中的数字返回列表
由于这些操作的原始顺序, 1234已更改为2431.
上面的操作可以通过代码SSXSSXXX更简洁地描述,其中S代表将汽车从输入移动到堆栈中,X代表将汽车从堆叠到输出中。 S和X的一些序列指定无意义的操作,因为在指定轨道上可能没有汽车可用;例如,序列SXXSSXXS不能执行。 (试试吧,看看为什么。)
编写和测试能够模拟火车车厢切换的功能: #[import语句] 进口q2_fun
# [constants]
# [rest of program code]
cars = [1, 2, 3, 4]
s_x = input("enter a code with s's and x's to move one stack to another")
list1 = q2_fun.train_swicth(cars, s_x)
print(list1)
from stack_array import Stack
def train_swicth(cars, s_x):
s = Stack()
list1 = []
for i in range(len(s_x)):
if s_x[i] == "s":
a = s_x.append()
s.push(a)
elif s_x[i] == "x":
b = s.pop()
list1.append(b)
return list1
我不断收到[]作为回报,它应该是2431与ssxssxxx。我可以得到一些帮助吗?
请更新您的问题,你的第一个段落。就目前而言,理解你的问题几乎是不可能的。 (提示:句号是一个很好的发明) –
@SteinarLima所以_are_复数动词。 – ApproachingDarknessFish