python魔方库kociemba

python魔方库kociemba
简单测试importkociembadefprint_cube(state:str): 打印 kociemba 格式的魔方状态 (54 字符串) 的展开图 iflen(state)!54:raiseValueError(状态字符串必须是 54 个字符)# 分割 6 个面Ustate[0:9]Rstate[9:18]Fstate[18:27]Dstate[27:36]Lstate[36:45]Bstate[45:54]defface_to_lines(face):return[face[i:i3]foriinrange(0,9,3)]U_lines,R_lines,F_lines,D_lines,L_lines,B_linesmap(face_to_lines,[U,R,F,D,L,B])# 打印展开图print()forlineinU_lines:print( *6 .join(line))forl,f,r,binzip(L_lines,F_lines,R_lines,B_lines):print( .join(l) .join(f) .join(r) .join(b))forlineinD_lines:print( *6 .join(line))print()# 示例未打乱状态state0FBDBUUBFFRFFLRRLLLDRDUFFBBBRDDDDDLDUURRBLLFRULLRUBUBFUprint_cube(state0)print(kociemba.solve(state0))# 输出 mf.pyimportkociembadefC2D(color_str):# 创建颜色到字母的映射字典color_map{白:U,红:R,绿:F,黄:D,橙:L,蓝:B}# 初始化结果字符串result# 遍历输入的每个颜色字符并转换forcharincolor_str:ifcharincolor_map:resultcolor_map[char]else:# 对于未定义的颜色保持原样或可根据需求处理resultcharreturnresultdefCS(*args):# 初始化结果字符串result# 遍历所有传入的参数并拼接forsinargs:# 确保每个参数都是字符串类型ifisinstance(s,str):resultselse:# 对于非字符串类型转换为字符串后再拼接resultstr(s)returnresultdefprint_cube(state:str): 打印 kociemba 格式的魔方状态 (54 字符串) 的展开图 iflen(state)!54:raiseValueError(状态字符串必须是 54 个字符)# 分割 6 个面Ustate[0:9]Rstate[9:18]Fstate[18:27]Dstate[27:36]Lstate[36:45]Bstate[45:54]defface_to_lines(face):return[face[i:i3]foriinrange(0,9,3)]U_lines,R_lines,F_lines,D_lines,L_lines,B_linesmap(face_to_lines,[U,R,F,D,L,B])# 打印展开图print()forlineinU_lines:print( *8 .join(line))forl,f,r,binzip(L_lines,F_lines,R_lines,B_lines):print( .join(l) .join(f) .join(r) .join(b))forlineinD_lines:print( *8 .join(line))print()defprintf(*args):sCS(*args);print_cube(s)defsolve(*args):sC2D(CS(*args));rkociemba.solve(s)print(r)main.pyimportmf s[绿橙蓝白白白红白蓝,红红红蓝红红橙黄蓝,黄蓝白绿绿红绿橙黄,白绿绿绿黄蓝橙黄黄,橙绿绿橙橙黄白红红,黄白白黄蓝蓝橙橙蓝]print(状态:)mf.printf(*s)print(操作:)mf.solve(*s)输出D:\soft\Anaconda3\envs\platformio\python.exe C:\Users\PC\PycharmProjects\PythonProject\main.py 状态: 绿 橙 蓝 白 白 白 红 白 蓝 橙 绿 绿 黄 蓝 白 红 红 红 黄 白 白 橙 橙 黄 绿 绿 红 蓝 红 红 黄 蓝 蓝 白 红 红 绿 橙 黄 橙 黄 蓝 橙 橙 蓝 白 绿 绿 绿 黄 蓝 橙 黄 黄 操作: U2 D RL U LD R F2 B LB2 U B2 DR2 U2 R2 F2 D2 L2 进程已结束退出代码为0

最新新闻

日新闻

周新闻

月新闻