Python中有整数通配符吗?

0 投票
2 回答
2634 浏览
提问于 2025-04-17 10:47

我有一个语句:

if self.rank == self.cube.Get_cart_rank([x, y, 0])

我想用通配符,这样它就可以接受任何值作为x和y。我在考虑使用(True, True, 0),但是这样对点[0,0,0]有效吗?有没有什么建议可以做到这一点?

2 个回答

0

我会用 None, None, 0 来表示通配符,然后在 Get_cart_rank 函数里检查这个通配符,比如用 if x is None 来判断。其实还有更好的方法,就是使用默认参数,不过我需要更多的信息才能给出建议。

1

如果我理解你的问题没错的话,你想知道是否存在一些值可以让你的 if 条件变成 True。你需要明确地去寻找这样的一对值:

found_pair = False
# MAX_X and MAX_Y would be have to be supplied by you
for x in range(0, MAX_X+1):
    for y in range(0, MAX_Y+1):
        if self.rank == self.cube.Get_cart_rank([x,y,0]):
            found_pair = True
            break

if found_pair:
    ...

有些编程语言(比如 Prolog)可以让你写代码来询问这些问题,然后它们会帮你组织和执行搜索。不过,Python 不是这样的语言。

撰写回答