【问题标题】:Having trouble locating logically error, for loop with recursion无法在逻辑上定位错误,for循环递归
【发布时间】:2020-10-25 16:33:15
【问题描述】:

我的目标是使用以下逻辑打印从 1 到 9 的数字且不重复: 对于要打印的数组中的每个数字,

  • 如果有重复的数字,则检查数组中该行中的所有数字

  • 否则重新滚动随机数 递归执行这些任务,直到从 1-9 填充整行且没有重复数字

      p = np.zeros((1,9), dtype=int)
    
      def check_row(i):
        num = random.randint(1,9)
        # check num equal any number in its row
        for nine in range(9):
          if num == p[i][nine]:
              check_row(i)  
          else:
              pass    
        return num
    
     for j in range(9):
       if p[0][j] == 0:
         p[0][j] = check_row(0)
    
     print(p)
    

【问题讨论】:

    标签: arrays numpy for-loop if-statement recursion


    【解决方案1】:
    p = np.zeros((1,9), dtype=int)
    
      def check_row(i):
        num = random.randint(1,9)
        # check num equal any number in its row
        for nine in range(9):
          if num == p[i][nine]:
              num = check_row(i)  
          else:
              pass    
        return num
    
     for j in range(9):
       if p[0][j] == 0:
         p[0][j] = check_row(0)
    
     print(p)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-15
      • 2014-01-05
      • 1970-01-01
      相关资源
      最近更新 更多