测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A22243. 区块链技术是⽐特币的基础。在区块链中,每个区块指向前⼀个区块,构成链式列表,新区块只能接在链尾,不允许在中间插⼊或删除。下⾯代码实现插⼊区块添加函数,则横线处填写( )。class Block: def __init__(self, idx, data, prev_block): self.idx = idx self.data = data self.prev = prev_block cla…

单选题 困难

题目描述

区块链技术是⽐特币的基础。在区块链中,每个区块指向前⼀个区块,构成链式列表,新区块只能接在链尾,不允许在中间插⼊或删除。下⾯代码实现插⼊区块添加函数,则横线处填写(    )。

class Block:
    def __init__(self, idx, data, prev_block):
        self.idx = idx
        self.data = data
        self.prev = prev_block

class Blockchain:
    def __init__(self):
        self.tail = None

    def init(self):
        genesis_block = Block(0, "Genesis Block", None)
        self.tail = genesis_block

    def add_block(self, data):

        _______________________
    def clear(self):
        cur = self.tail
        while cur is not None:
            prev_block = cur.prev
            cur.prev = None
            cur = prev_block
        self.tail = None

    def print_chain(self):
        cur = self.tail
        chain = []
        while cur is not None:
            chain.append(f"Block {cur.idx}: {cur.data}")
            cur = cur.prev
        for block_info in reversed(chain):
            print(block_info)

选项(单选)

上一题 下一题