如何修复此问题以不包含零答案,因为“a”和“b”不是 0,但在运行代码时它给出 0 作为答案之一?
def determinate(a,b):
return a * (3*2 - 0*2) - 0 * (4*2 - b*2) + b * (4*0 - 3*b)
for a in range(-100,101):
for b in range(-100,101):
if determinate(a,b) == 0:
print(f"a: {a}, b: {b}")
这就是它给我的:
a: 0, b: 0
a: 2, b: -2
a: 2, b: 2
a: 8, b: -4
a: 8, b: 4
a: 18, b: -6
a: 18, b: 6
a: 32, b: -8
a: 32, b: 8
a: 50, b: -10
a: 50, b: 10
a: 72, b: -12
a: 72, b: 12
a: 98, b: -14
a: 98, b: 14
但我想删除 a:0, b:0
def determinate(a, b):
return a * (3*2 - 0*2) - 0 * (4*2 - b*2) + b * (4*0 - 3*b)
for a in range(-100, 101):
for b in range(-100, 101):
if determinate(a, b) == 0 and (a != 0 or b != 0): # Exclude (0, 0)
print(f"a: {a}, b: {b}")
只需添加一个基本的 if 条件即可:
if a == 0 or b == 0:
continue
当 a 或 b 等于 0 时,循环将继续进行