写三个FIFO第一个用来写入数据1-20,然后将奇数读出到FIFO2,偶数读出到FIFO3
时间: 2024-03-01 20:51:01 浏览: 76
以下是使用Python语言实现的三个FIFO示例代码:
```python
# 定义一个用于存储数据的FIFO类
class FIFO:
def __init__(self):
self.data = []
# 向FIFO中写入数据
def write(self, value):
self.data.append(value)
# 从FIFO中读出数据
def read(self):
return self.data.pop(0)
# 定义三个FIFO
fifo1 = FIFO()
fifo2 = FIFO()
fifo3 = FIFO()
# 将1-20写入FIFO1
for i in range(1, 21):
fifo1.write(i)
# 将奇数写入FIFO2,偶数写入FIFO3
while len(fifo1.data) > 0:
value = fifo1.read()
if value % 2 == 0:
fifo3.write(value)
else:
fifo2.write(value)
# 输出FIFO2中的数据
print("FIFO2中的数据:", end="")
while len(fifo2.data) > 0:
print(fifo2.read(), end=" ")
# 输出FIFO3中的数据
print("\nFIFO3中的数据:", end="")
while len(fifo3.data) > 0:
print(fifo3.read(), end=" ")
```
运行上述代码,输出结果如下:
```
FIFO2中的数据:1 3 5 7 9 11 13 15 17 19
FIFO3中的数据:2 4 6 8 10 12 14 16 18 20
```
其中,`FIFO` 类实现了一个简单的队列,包括 `write` 和 `read` 两个方法,用于向队列中写入数据和从队列中读出数据。在本例中,首先定义了三个 `FIFO` 对象,然后将 1-20 的数据写入 `fifo1` 中,接着从 `fifo1` 中将奇数写入 `fifo2` 中,偶数写入 `fifo3` 中。最后分别输出 `fifo2` 和 `fifo3` 中的数据。
阅读全文