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

qu392970 单选题 共 个子题
class Block:
    def __init__(self, idx, data, prev_block):
        self.index = 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.index}: {cur.data}")
            cur = cur.prev
        for block_info in reversed(chain):
            print(block_info)
A

new_block = Block(self.tail.index, data, self.data)
B

new_block = Block(self.tail.index + 1, data, self.tail)

        self.tail = new_block
C

new_block = Block(self.tail.index, data+1, self.data)

        self.tail = new_block
D

new_block = Block(self.tail.index, data, self.tail)

        self.tail.data = new_block
正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧