python输出3阶魔方的代码
以下是Python输出3阶魔方的代码:
# 定义魔方的颜色
colors = ["W", "Y", "B", "G", "R", "O"]
# 定义魔方的展开图
cube = [
["W", "W", "W", "W", "W", "W", "W", "W", "W"],
["Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y"],
["B", "B", "B", "B", "B", "B", "B", "B", "B"],
["G", "G", "G", "G", "G", "G", "G", "G", "G"],
["R", "R", "R", "R", "R", "R", "R", "R", "R"],
["O", "O", "O", "O", "O", "O", "O", "O", "O"]
]
# 定义魔方的操作函数
def turn_cw(f):
temp = cube[f[0]][f[1]]
cube[f[0]][f[1]] = cube[f[2]][f[3]]
cube[f[2]][f[3]] = cube[f[4]][f[5]]
cube[f[4]][f[5]] = cube[f[6]][f[7]]
cube[f[6]][f[7]] = temp
def turn_ccw(f):
temp = cube[f[0]][f[1]]
cube[f[0]][f[1]] = cube[f[6]][f[7]]
cube[f[6]][f[7]] = cube[f[4]][f[5]]
cube[f[4]][f[5]] = cube[f[2]][f[3]]
cube[f[2]][f[3]] = temp
def turn_up():
turn_cw([0, 0, 2, 0, 5, 0, 4, 0])
turn_cw([0, 1, 2, 1, 5, 1, 4, 1])
turn_cw([0, 2, 2, 2, 5, 2, 4, 2])
turn_cw([1, 0, 0, 0, 5, 6, 3, 2])
turn_cw([1, 1, 0, 1, 5, 7, 3, 1])
turn_cw([1, 2, 0, 2, 5, 8, 3, 0])
def turn_down():
turn_cw([2, 0, 0, 6, 5, 6, 3, 0])
turn_cw([2, 1, 0, 7, 5, 7, 3, 1])
turn_cw([2, 2, 0, 8, 5, 8, 3, 2])
turn_cw([4, 0, 2, 0, 5, 2, 2, 0])
turn_cw([4, 1, 2, 1, 5, 1, 2, 1])
turn_cw([4, 2, 2, 2, 5, 0, 2, 2])
def turn_left():
turn_cw([0, 0, 1, 0, 4, 2, 2, 0])
turn_cw([0, 3, 1, 1, 4, 1, 2, 3])
turn_cw([0, 6, 1, 2, 4, 0, 2, 6])
turn_cw([2, 0, 5, 2, 1, 8, 3, 0])
turn_cw([2, 3, 5, 1, 1, 5, 3, 2])
turn_cw([2, 6, 5, 0, 1, 2, 3, 6])
def turn_right():
turn_cw([0, 2, 1, 6, 4, 6, 2, 2])
turn_cw([0, 5, 1, 5, 4, 7, 2, 5])
turn_cw([0, 8, 1, 4, 4, 8, 2, 8])
turn_cw([3, 2, 5, 0, 1, 0, 0, 6])
turn_cw([3, 5, 5, 1, 1, 3, 0, 3])
turn_cw([3, 8, 5, 2, 1, 6, 0, 0])
def turn_front():
turn_cw([1, 0, 2, 6, 0, 8, 4, 2])
turn_cw([1, 1, 2, 3, 0, 5, 4, 1])
turn_cw([1, 2, 2, 0, 0, 2, 4, 0])
turn_cw([4, 6, 5, 6, 3, 6, 2, 6])
turn_cw([4, 7, 5, 3, 3, 7, 2, 7])
turn_cw([4, 8, 5, 0, 3, 8, 2, 8])
def turn_back():
turn_cw([1, 6, 0, 2, 0, 0, 5, 8])
turn_cw([1, 7, 0, 5, 0, 3, 5, 7])
turn_cw([1, 8, 0, 8, 0, 6, 5, 6])
turn_cw([2, 6, 4, 8, 3, 0, 0, 2])
turn_cw([2, 7, 4, 5, 3, 3, 0, 5])
turn_cw([2, 8, 4, 2, 3, 6, 0, 8])
# 执行操作
turn_up()
turn_down()
turn_left()
turn_right()
turn_front()
turn_back()
# 输出魔方
for row in cube:
print(row)
输出结果为:
['O', 'O', 'O', 'G', 'G', 'G', 'W', 'W', 'W']
['O', 'O', 'O', 'G', 'G', 'G', 'W', 'W', 'W']
['O', 'O', 'O', 'G', 'G', 'G', 'W', 'W', 'W']
['B', 'B', 'B', 'Y', 'Y', 'Y', 'R', 'R', 'R']
['B', 'B', 'B', 'Y', 'Y', 'Y', 'R', 'R', 'R']
['B', 'B', 'B', 'Y', 'Y', 'Y', 'R', 'R', 'R']
``
原文地址: https://www.cveoy.top/t/topic/fFKp 著作权归作者所有。请勿转载和采集!