题库首页 › GESP等级认证(Python) › 题目 20671

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

正确答案:B

试卷来源:202512 CCF-GESP编程能力等级认证Python五级真题

本卷相关题目

在线做题 同科目题库