python队列queue

该博客介绍了一个使用先进先出(FIFO)原理的Python队列实现,称为`queue`类,用于模拟热土豆游戏。游戏规则是将名字通过队列传递,经过指定次数后,队首的人出局。`hotpotato`函数接收人数和参与者名单,返回最后留在队列中的人。示例展示了如何使用该实现处理特定数量的参与者。
摘要由CSDN通过智能技术生成

FIFO:先进先出

# 采用list来容纳queue的数据项
class queue:
'定义queue类'
    def __init__(self):
        self.items = []

    def isempty(self):
        return self.items == []

    def enqueue(self, item):
        self.items.insert(0, item)

    def dequeue(self):
        return self.items.pop()

    def size(self):
        return len(self.items)
# 应用:热土豆,穿过num个人,队首的人出列
def hotpotato(num, names):
    q = queue() # 实例queue类
    for i in names:
        q.enqueue(i)
    while q.size() >= 1:
        for j in range(num):
            q.enqueue(q.dequeue())
            j += 1
        q.dequeue()
    return q.isempty()


print(hotpotato(7, ["lisa", 'rita', 'linlin', 'daming', 'amy','dfs']))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值