100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 历届真题 魔方旋转问题【历届真题】【决赛】【高职组】

历届真题 魔方旋转问题【历届真题】【决赛】【高职组】

时间:2022-03-03 10:20:12

相关推荐

历届真题 魔方旋转问题【历届真题】【决赛】【高职组】

将二阶魔方划分8个象限,每个象限分,xyz三面。

对x旋转时相当于对[1,4, 8, 5]这四个象限顺时针旋转,zy方向颜色交换。

class square:def __init__(self):self.p = [[], ["绿", "红", "白"], ["蓝", "红", "白"], ["蓝", "橙", "白"], ["绿", "橙", "白"], ["绿", "红", "黄"], ["蓝", "红", "黄"], ["蓝", "橙", "黄"], ["绿", "橙", "黄"]]self.i = []def exchange(self):if 0 not in self.i:lst = [1, 4, 8, 5]elif 1 not in self.i:lst = [1, 5, 6, 2]else:lst = [1, 2, 3, 4]for k in lst:m = self.p[k][self.i[0]]self.p[k][self.i[0]] = self.p[k][self.i[1]]self.p[k][self.i[1]] = mm = self.p[lst[0]]for j in range(3):self.p[lst[j]] = self.p[lst[j + 1]]self.p[lst[3]] = mdef input(self, operation):for t in operation:if t == "x":self.i = [1, 2]elif t == "y":self.i = [0, 2]elif t == "z":self.i = [0, 1]else:raise ValueErrorself.exchange()def print(self):print((self.p[1][0] + self.p[1][1] + self.p[1][2]))def main():a = square()q = input("")a.input(q)a.print()if __name__ == '__main__':main()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。