从Python列表中删除0

问题描述 投票:0回答:2

如何修复此问题以不包含零答案,因为“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

python
2个回答
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}")

0
投票

只需添加一个基本的 if 条件即可:

if a == 0 or b == 0:
   continue

当 a 或 b 等于 0 时,循环将继续进行

© www.soinside.com 2019 - 2024. All rights reserved.