【问题标题】:How do I increment one value and reset another. PYTHON如何增加一个值并重置另一个值。 PYTHON
【发布时间】:2019-11-25 04:53:22
【问题描述】:

我正在搜索 2 张纸牌中的常用术语。 我想搜索deck[v]...1 到deck[b]...1,2,3,4,5,6,7,8,9,10,11,12,13。 然后我想增加 [v] 来搜索 deck[v]...2 到 deck[b]...1,2,3,4,5,6,7,8,9,10,11,12, 13. 等等等等 我可以得到第一部分,但不知道如何增加 [v] 并将 [b] 重置为 1。 任何帮助,将不胜感激。 有 13 个术语

b = 1
v = 1
while b <= 13:
    print(b, deck[b])
    print("Intersection between", "v = ",v, "and", "b = ",b, deck[v].intersection(deck[b]))
    if len(deck[v].intersection(deck[b])) == 1:
        print("1 match")
        print("v = ", v)
        print("b = ", b)
    b = b + 1

【问题讨论】:

  • 欢迎来到 Stack Overflow。首先,把你的整个问题用粗体表示只会让它更难阅读。您还不清楚deck[v]...1 的意思,并且您还没有真正描述您要在输入和输出方面解决的问题。请编辑问题以改进格式,并阐明您具体要做什么以及为什么它不起作用;见stackoverflow.com/help/how-to-askstackoverflow.com/help/minimal-reproducible-example
  • 我基本上只是想增加 V。然后再次运行循环。
  • 增加一个名为V 的变量很容易——只需写V += 1。显然,这不是对您要解决的问题的具体描述。
  • 我想要 v = 1, b = 1,2,3,4,5,6,7,8,9,10,11,12,13。然后我想要 v = 2, b = 1,2,3,4,5,6,7,8,9,10,11,12,13。
  • 您正在谈论您希望算法遵循的过程。您需要解释您要解决的问题。给出输入和预期输出。为某人提供足够的信息,以了解他们对答案的想法是否正确。目前所写的问题并不像您想象的那么清楚。

标签: python oop


【解决方案1】:

为什么不只使用 2 个 for 循环?

for b in range(1,14):
 for v in range(1,14):
   # Your code
   print(b, deck[b])
   print("Intersection between", "v = ",v, "and", "b = ",b, deck[v].intersection(deck[b]))
   if len(deck[v].intersection(deck[b])) == 1:
      print("1 match")
      print("v = ", v)
      print("b = ", b)

【讨论】:

【解决方案2】:

您只需将当前代码插入一个新循环并在该循环中增加v

b = 1
v = 1
while v <= 13:
    while b <= 13:
        print(b, deck[b])
        print("Intersection between", "v = ",v, "and", "b = ",b, deck[v].intersection(deck[b]))
        if len(deck[v].intersection(deck[b])) == 1:
            print("1 match")
            print("v = ", v)
            print("b = ", b)
        b = b + 1
    v = v + 1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-25
    • 2021-06-25
    相关资源
    最近更新 更多