我想随机化一个初始化为完整的魔方(所有颜色都在正确的一边)。我有旋转立方体的移动功能。我想连续随机选择 50 个函数来正确随机化它。
我正在做这个项目来了解更多关于 Python 的知识,因为我主要使用 C++ 并且我看到 Python 没有大小写/开关,所以我正在尝试字典。当我制作字典时,代码似乎出于某种原因执行:
def random_cube(self):
scramble = { 0 : self.up_turn(),
1 : self.down_turn(),
2 : self.left_turn(),
3 : self.right_turn(),
4 : self.front_turn(),
5 : self.back_turn(),
6 : self.up_turn("inverted"),
7 : self.down_turn("inverted"),
8 : self.left_turn("inverted"),
9 : self.right_turn("inverted"),
10: self.front_turn("inverted"),
11: self.back_turn("inverted")
}
for x in range(50):
i = random.randint(0,11)
scramble[i]
所以当我制作这本字典时,它似乎出于某种原因运行并执行了所有 11 个条目(我认为)。我似乎找不到更好的方法,至少比长长的 if/elif 语句更优雅。
!编辑:实现这两个建议,函数的(“倒置”)标志都没有被任何一个建议设置。例如,调用 1 和 7 都给了我 down_turn,但输出显示该标志本应位于编号 7 上时未设置。
有任何想法吗?