有没有一种简单的方法可以通过所有可能的真/假组合来循环变量?例如,假设我们有一个函数:
def f(a, b, c):
return not (a and (b or c))
Run Code Online (Sandbox Code Playgroud)
有没有办法循环a,b,c, 000, 001, 010,011等100?
我的第一个想法是循环遍历整数并获取与变量位置相对应的位,如下所示:
for i in range (8):
a = i & 4
b = i & 2
c = i & 1
print(f(a,b,c), " ", a,b,c)
Run Code Online (Sandbox Code Playgroud)
它似乎可以工作,但是a、b、 和c打印出来时都是整数,并且整数与逻辑运算符的交互方式与布尔值不同。例如,4 and 2等于2和9 or 3等于9。我不太介意,只是花了一些时间来说服自己这并不重要。
但问题仍然存在,是否有更简单的方法来循环所有可能的 true/false 或 0/1 值?
我正在尝试在Python tkinter中创建一个涉及火箭飞船和一些小行星的游戏.问题是,火箭飞船由多种形状组成.我不需要关于如何简化火箭形状的建议,但如果我能在画布上使用图像的指针,那可能会更好.
无论如何,我正在研究如何将多个形状组合成单个形状或一次移动多个形状的方法.这涉及ID和标签的使用,我不清楚我应该使用哪些以及为什么.
为什么我需要一次移动多个形状?火箭飞船由多种形状组成,需要从一侧移动到另一侧.我真的不希望一堆self.canvas.move()方法弄乱我的代码,所以如果有人能帮助我,我会非常感激.提前致谢!